diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 19:56:09 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 19:56:09 +0300 |
| commit | 7fb132859fda54aa96bc9dd46d302b343eeb5a02 (patch) | |
| tree | b43ae77d7451fb470a260c03349a1caf2846c5e5 /neozip/test | |
| parent | b1e34e861b5d732afe828d58aad2c638135061fd (diff) | |
| parent | c2712b8a345191f6ed79558c089777df94590087 (diff) | |
| download | Project-Tick-7fb132859fda54aa96bc9dd46d302b343eeb5a02.tar.gz Project-Tick-7fb132859fda54aa96bc9dd46d302b343eeb5a02.zip | |
Add 'neozip/' from commit 'c2712b8a345191f6ed79558c089777df94590087'
git-subtree-dir: neozip
git-subtree-mainline: b1e34e861b5d732afe828d58aad2c638135061fd
git-subtree-split: c2712b8a345191f6ed79558c089777df94590087
Diffstat (limited to 'neozip/test')
126 files changed, 49522 insertions, 0 deletions
diff --git a/neozip/test/.gitignore b/neozip/test/.gitignore new file mode 100644 index 0000000000..96a3cad070 --- /dev/null +++ b/neozip/test/.gitignore @@ -0,0 +1,5 @@ +# ignore Makefiles; they're all automatically generated +Makefile +/switchlevels +/switchlevels.dSYM/ +/switchlevels.exe diff --git a/neozip/test/CMakeLists.txt b/neozip/test/CMakeLists.txt new file mode 100644 index 0000000000..cfaed9312d --- /dev/null +++ b/neozip/test/CMakeLists.txt @@ -0,0 +1,260 @@ +macro(configure_test_executable target) + target_include_directories(${target} PRIVATE ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}) + set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) + if(NOT WITH_GZFILEOP) + target_compile_definitions(${target} PRIVATE -DWITH_GZFILEOP) + target_sources(${target} PRIVATE ${ZLIB_GZFILE_PRIVATE_HDRS} ${ZLIB_GZFILE_SRCS}) + endif() +endmacro() + +if(TEST_STOCK_ZLIB) + add_definitions(-DTEST_STOCK_ZLIB) +endif() + +add_executable(example example.c) +configure_test_executable(example) +target_link_libraries(example zlib-ng) +add_test(NAME example COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:example>) + +add_executable(minigzip minigzip.c) +configure_test_executable(minigzip) +if(NOT DEFINED BUILD_SHARED_LIBS) + target_link_libraries(minigzip zlib-ng-static) +else() + target_link_libraries(minigzip zlib-ng) +endif() +if(BASEARCH_S360_FOUND) + if(WITH_DFLTCC_DEFLATE OR WITH_DFLTCC_INFLATE) + set_source_files_properties(minigzip.c PROPERTIES COMPILE_DEFINITIONS BUFLEN=262144) + endif() +endif() +set(MINIGZIP_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:minigzip>) + +add_executable(minideflate minideflate.c) +configure_test_executable(minideflate) +target_link_libraries(minideflate zlib-ng) +set(MINIDEFLATE_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:minideflate>) + +if(INSTALL_UTILS) + install(TARGETS minigzip minideflate + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") +endif() + +add_executable(switchlevels switchlevels.c) +configure_test_executable(switchlevels) +target_link_libraries(switchlevels zlib-ng) +set(SWITCHLEVELS_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:switchlevels>) + +add_executable(infcover infcover.c) +configure_test_executable(infcover) +target_link_libraries(infcover zlib-ng) +if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) + target_sources(infcover PRIVATE ${PROJECT_SOURCE_DIR}/inftrees.c) +endif() +add_test(NAME infcover COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:infcover>) + +add_executable(makefixed ${PROJECT_SOURCE_DIR}/tools/makefixed.c ${PROJECT_SOURCE_DIR}/inftrees.c) +configure_test_executable(makefixed) +set(MAKEFIXED_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:makefixed>) + +add_executable(maketrees ${PROJECT_SOURCE_DIR}/tools/maketrees.c ${PROJECT_SOURCE_DIR}/trees.c ${PROJECT_SOURCE_DIR}/zutil.c) +configure_test_executable(maketrees) +set(MAKETREES_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:maketrees>) + +add_executable(makecrct ${PROJECT_SOURCE_DIR}/tools/makecrct.c) +configure_test_executable(makecrct) +set(MAKECRCT_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:makecrct>) + +# Emscripten does not support large amounts of data via stdin/out +# https://github.com/emscripten-core/emscripten/issues/16755#issuecomment-1102732849 +if(NOT BASEARCH_WASM32_FOUND) + # Runs tests targeting CVEs + include(cmake/test-cves.cmake) + + # Run tests with data files + include(cmake/test-data.cmake) + + # Run tests targeting GitHub issues + include(cmake/test-issues.cmake) + + # Run tests targeting tools + include(cmake/test-tools.cmake) +endif() + +if(WITH_FUZZERS) + add_subdirectory(fuzz) +endif() + +if(WITH_BENCHMARKS) + add_subdirectory(benchmarks) +endif() + +if(WITH_GTEST) + # Google test requires at least C++11 + if(NOT DEFINED CMAKE_CXX_STANDARD) + # Use older version of Google test to support older versions of GCC + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 5.3) + set(CMAKE_CXX_STANDARD 11) + else() + set(CMAKE_CXX_STANDARD 14) + endif() + endif() + + # Google test requires MSAN instrumented LLVM C++ libraries + if(WITH_SANITIZER STREQUAL "memory") + if(NOT DEFINED ENV{LLVM_BUILD_DIR}) + message(FATAL_ERROR "MSAN instrumented C++ libraries required!") + endif() + + # Must set include and compile options before fetching googletest + include_directories($ENV{LLVM_BUILD_DIR}/include $ENV{LLVM_BUILD_DIR}/include/c++/v1) + add_compile_options(-stdlib=libc++ -g) + elseif(NOT TARGET GTest::GTest) + find_package(GTest) + endif() + + if(NOT TARGET GTest::GTest) + include(FetchContent) + + # Prevent overriding the parent project's compiler/linker settings for Windows + set(gtest_force_shared_crt ON CACHE BOOL + "Use shared (DLL) run-time lib even when Google Test is built as static lib." FORCE) + + # Allow specifying alternative Google test repository + if(NOT DEFINED GTEST_REPOSITORY) + set(GTEST_REPOSITORY https://github.com/google/googletest.git) + endif() + if(NOT DEFINED GTEST_TAG) + # Use older version of Google test to support older versions of GCC + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 5.3) + set(GTEST_TAG release-1.10.0) + else() + set(GTEST_TAG v1.16.0) + endif() + endif() + + # Fetch Google test source code from official repository + message(STATUS "Git checking out GoogleTest ${GTEST_TAG}") + FetchContent_Declare(googletest + GIT_REPOSITORY ${GTEST_REPOSITORY} + GIT_TAG ${GTEST_TAG} + ${ZNG_FetchContent_Declare_EXCLUDE_FROM_ALL}) + + ZNG_FetchContent_MakeAvailable(googletest) + add_library(GTest::GTest ALIAS gtest) + add_library(GTest::Main ALIAS gtest_main) + endif() + + if(TARGET GTest::GTest) + set(TEST_SRCS + test_compress.cc + test_compress_bound.cc + test_cve-2003-0107.cc + test_deflate_bound.cc + test_deflate_copy.cc + test_deflate_dict.cc + test_deflate_hash_head_0.cc + test_deflate_header.cc + test_deflate.cc + test_deflate_params.cc + test_deflate_pending.cc + test_deflate_prime.cc + test_deflate_quick_bi_valid.cc + test_deflate_quick_block_open.cc + test_deflate_tune.cc + test_dict.cc + test_inflate_adler32.cc + test_inflate_copy.cc + test_large_buffers.cc + test_raw.cc + test_small_buffers.cc + test_small_window.cc + ) + + if(WITH_GZFILEOP) + list(APPEND TEST_SRCS test_gzio.cc) + endif() + + if(NOT TEST_STOCK_ZLIB) + list(APPEND TEST_SRCS + test_adler32.cc # adler32_neon(), etc + test_adler32_copy.cc # adler32_copy implementations + test_compare256.cc # compare256_neon(), etc + test_compare256_rle.cc # compare256_rle(), etc + test_crc32.cc # crc32_armv8(), etc + test_crc32_copy.cc # crc32_copy implementations + test_deflate_deterministic.cc # deterministic output after deflateReset + test_inflate_sync.cc # expects a certain compressed block layout + test_main.cc # cpu_check_features() + test_version.cc # expects a fixed version string + ) + endif() + + add_executable(gtest_zlib ${TEST_SRCS}) + configure_test_executable(gtest_zlib) + + if(MSVC) + target_compile_options(gtest_zlib PRIVATE /wd4389 /EHsc) + endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + target_compile_options(gtest_zlib PRIVATE -D_XOPEN_SOURCE=700) + endif() + + if(WITH_SANITIZER STREQUAL "memory") + target_link_directories(gtest_zlib PRIVATE $ENV{LLVM_BUILD_DIR}/lib) + target_link_options(gtest_zlib PRIVATE + -stdlib=libc++ + -lc++abi + -fsanitize=memory + -fsanitize-memory-track-origins) + endif() + + if(NOT ZLIB_COMPAT AND DEFINED ZLIB_LIBRARIES AND DEFINED ZLIB_INCLUDE_DIRS) + if(NOT IS_ABSOLUTE ${ZLIB_LIBRARIES}) + get_filename_component(ZLIB_ABSOLUTE_PATH + "${CMAKE_CURRENT_SOURCE_DIR}/${ZLIB_LIBRARIES}" + ABSOLUTE) + else() + set(ZLIB_ABSOLUTE_PATH ${ZLIB_LIBRARIES}) + endif() + + add_library(external_zlib STATIC IMPORTED) + set_property(TARGET external_zlib PROPERTY IMPORTED_LOCATION ${ZLIB_ABSOLUTE_PATH}) + message(STATUS "Added dual linking tests against zlib") + message(STATUS " Zlib include dirs: ${ZLIB_INCLUDE_DIRS}") + message(STATUS " Zlib libraries: ${ZLIB_ABSOLUTE_PATH}") + + target_sources(gtest_zlib PRIVATE test_compress_dual.cc) + target_include_directories(gtest_zlib PRIVATE ${ZLIB_INCLUDE_DIRS}) + target_link_libraries(gtest_zlib external_zlib) + endif() + + if(NOT DEFINED BUILD_SHARED_LIBS) + # Link statically in order to test internal zlib-ng functions. + target_link_libraries(gtest_zlib zlib-ng-static) + else() + target_link_libraries(gtest_zlib zlib-ng) + endif() + + if(BUILD_SHARED_LIBS) + target_link_libraries(gtest_zlib GTest::Main) + endif() + target_link_libraries(gtest_zlib GTest::GTest) + + find_package(Threads) + if(Threads_FOUND AND NOT BASEARCH_WASM32_FOUND) + target_sources(gtest_zlib PRIVATE test_deflate_concurrency.cc) + if(UNIX AND NOT APPLE) + # On Linux, use a workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52590 + target_link_libraries(gtest_zlib -Wl,--whole-archive -lpthread -Wl,--no-whole-archive) + endif() + target_link_libraries(gtest_zlib Threads::Threads) + endif() + + add_test(NAME gtest_zlib + COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:gtest_zlib>) + endif() +endif() diff --git a/neozip/test/CVE-2002-0059/test.gz b/neozip/test/CVE-2002-0059/test.gz Binary files differnew file mode 100644 index 0000000000..c5c3e184b1 --- /dev/null +++ b/neozip/test/CVE-2002-0059/test.gz diff --git a/neozip/test/CVE-2004-0797/test.gz b/neozip/test/CVE-2004-0797/test.gz Binary files differnew file mode 100644 index 0000000000..62dcf34bdd --- /dev/null +++ b/neozip/test/CVE-2004-0797/test.gz diff --git a/neozip/test/CVE-2005-1849/test.gz b/neozip/test/CVE-2005-1849/test.gz Binary files differnew file mode 100644 index 0000000000..b28f278263 --- /dev/null +++ b/neozip/test/CVE-2005-1849/test.gz diff --git a/neozip/test/CVE-2005-2096/test.gz b/neozip/test/CVE-2005-2096/test.gz Binary files differnew file mode 100644 index 0000000000..11590aeab9 --- /dev/null +++ b/neozip/test/CVE-2005-2096/test.gz diff --git a/neozip/test/CVE-2018-25032/default.txt b/neozip/test/CVE-2018-25032/default.txt new file mode 100644 index 0000000000..5edbff6480 --- /dev/null +++ b/neozip/test/CVE-2018-25032/default.txt @@ -0,0 +1 @@ +OBXESYMXQLOTSVVWGIMGKKJOVTYKPPMYROFHSCXQPOFVHKBKAFYYAFTWCVOBPXWDSSFZCKBJOJUWPUQHKBNYZMCYEDEBXLAOREOASIEPAISNAZSXQKMWJSABFVSOXNKTGDCZKRSNBTWWGRNRZWGQEHKKQJGSGGFWJCETJVULWEJAQPAILMMQBVWJWMHWBSIOAXOQNEJYAQSPEOACRIFYOFHTBLZFSHOYGQFDGLLCDEHGPRAUFMANGCKZNZJBMEAEDDPZPJMMFEQGEUOHYFEQUKKHTOELBFUVDMNCEGPTLQYPDFTUGGOEUMUIAKAAZNXAEAKZREKXSZZAKFMHDZJFQDLLSILAMUHDQJTVMYIZWFEOPCKWVSXYDEOSGVWACWZNDDTOOYSFCOYHMCUSELFMSBJIUMPFOGDDJGHELQJSUAEEOWQEJMWRRBBAANVFEUMJZRQGDIWXOYXCZZLMDRHPJAYGUUJENSDDGBKDFRXMINPXRZJNAUPBIOAAKLMFUTZWAEWIBUTYOLPPNUWMFYJQIEMJYKVRNKRXGODFFRMMSKDBBKRJGUWOFMNKQPJLCCNDOTIWVGNWVIQINFPLJLEQRMNSVYFGNWMWYGKHBRSLPCCPHUNXIDKDGIELLDUIOXAJOZGIJVKGBJMGSCOHPRFVUPXJREGBMUXNSCBBRASVMNZHELWNHROPZGWIYMKESWGWNANICQTNICGQBJLAONQEEDEYUIGAOQCDTVBLSSACVCUAURKRLCYIHAYHZZCBVMLALYJKNVJTHYTFDDZVOQBUSDTPERXSTYJKCOGGFLBRQIARKTDBQHSFBBEEWYIEOOHUWKUGACNGZQMAHWPFJJOHMJGULPPXYTCIHIAVYTAHIZMBMYYZXBPLTRWNEDAALDOWVQLNFWZEVSDWQBBYHUYNOJYXVFQYGKSHGCRDPPRSVZWXECEXCWOYSBRWIBPZLHJKHWVTZYXEYGUWAXEUONCVLUGHLTCUTVSUQEVBRYYCIZESPFTGKDJKDQYNIXWZZYSCWIULGKVRJOLQNMWMKJKYOZGXFDUHXEFEFHUMHYKYINHXMINEEJAFYQLHEXBTTEBWGWEAWYODLKRFWATZYJXAFECXRPEDRKPJTJBHFQYFWLCYPMTASYYIHDGURAAUJYTKAMDUNZHXYGPHJVJPODIJAXYXONXEULMKEQRKUYAHLJLTVJUPMYUQSEMEKYCYBPNDDXRNZUQYHDBITAYHMBXSOETYJDWDAKRJGBIUSIUIKBQPSHOVDRCNSBUYDPAPAXBKHLIGEPMOUBYFXAMXDEASVXOUIMPVLCQQJRQNLIDVIRYOEXXIUASCSMSTQECGPPHPGDLJLCRJTWSHVOUNQNFTQEHOIQIUWTOFEIKBCWNLDYIJDUWPBIBBERKPKYYUWNIMOCMAUEVBLHBYLQEALQVTQYNTGASZMJWOPCUVKMJEZFKJZMCOORIKNUZQAPHVYTTSJUBBYFJJHTJRYCPRHVLZFPNXSSXXJDWDJQVSJVUKVWUYGPLBGUTBVLMNOFYUKIKIVBDCIKAKVEQIPBPQRLOSZXNIGIDKNGCLILUSTJXYFJZKRAJONNYAANNTWVDXYTIESYFRGQVIOLUBOHGNAGKAKZTRSYYIBADADFBHLJXDYPQKWAVHQGWZKKWUVAFWGXBEBNVPUDWCOMMSXJIVVLDHAWNUTQAPKVFGTYMOKTBDBQZTHHAWGRANXNAVWIOIPILFNUKUFVLNNLAFFPHBLFYMHYOZKABEYKKEDHYMBDIGAFUHTJOOIOWOLLKINJMOPYNNMBMRXNYZAHQYOTDNKWDIDBPSZJOEBQWPYHZZTHSFVJAQDFBJHBOBLOKJKIOEQTWPFSXZCKWWOXNEIDFXVWFPPEFTXLPHMFVPZYRKZVHHDWXVHCASKVDKHWNIUMJUEAAKSFYAGUUKLYGDVDPWMKIDQEUEDLZWQJLRSDMLSHKIOSDUQIDIAGIDEQZBUTVLPUFEXJCCJRGCFXNVXRRNSTWXCXEORNNMFJFJUMOWOSLUUYCOQKLTTUTVGSUCKXQGPHWFZOHALSARGDPDYOIFBXZCDEMHVNTDXTHZOZDOGCZYRXEWLWLPTMCTPCTYWJXNRGSYJDRCFIRRCLFSZMTVXMHASZQGVHHHFLGZKDGMGAHVNHXROKDARLQWIYXXRYTERPSEDVYETTARZTXOTUGAHTOHOOTMCJBZKNBBQHAECEJFUEQQYXNXWBAUIESPQGIOEABZTMSUIVNUIOFYGLSTUVHKPIVBBHAPSDEXZPPAFSLSJSKGEGKXQZGZYYYBFHEKOQUZEMBMTLXLLAJMEFEWLECDLUWLMQLNZDXGDHRMCOOTGWXKTDFKFGEJSLUEYWDGRAONPHKSKCTXQZCEYMQSUIWTNCQLAMABCIZAAOJCLGRBWRFCQKSTYSDDYOZOSEPYBBVEKIFDJOEVAAZBYYKHPKNNWKNIGMIBUDADWHVKSWCMSWBKQAHBNFMWKFPRSBAJMJCAFAENZBVDSYGEPAYDMDRJOUZCGHQNDAQQZHSBMLPWOFGNNODEZZZSJUOOOPBYSEJFZOSJQGTSUBQCOTVNAXIZFMVJUFWGDDJWRBHDUTNQOSYJEWTEZXOYUQXKOZSBYEQKHOAEUEUYOMJLRHGQKKCICCLNIKCMAXLJZEWOYSTVZWXDXSXWVEWJRTDDJIDEWOYXXKGKBHDEPXZFUPVYWJDHXJENZANIEAUIZBXRIZFHMVKOUHRKRUALDIQSAOLIBFSRNBNFZHAUSGGMYSXJROAPNFXOWSFWNRJCAEFJDNDCRQDEOACSMGQQSQIVVVPSTTEPWFLQGJFOXUKFEMTQTUZRNMUPLLQQPNYAIIOMGQETSURJIJDOVGGWQDIKSGZYSJCSVPETTGRKXOXPMRPEMCXAXDDQTVOWDUGPKRCKRRCBRBDEMASKWEPIRHBKGOFGUNVXQMTSKOLAYJKMAGDLLMOPHDAHXBDQMYMGVVREVFLEZPXEXXFORECDRSTSWXGRNRQPSAXXIZXOQPDLEBDHDAUOMAGPFWVMWCQLMXDXKSFAJZBLNQLLRYDBYPWDWXFCTGFHNJVKMYONKAAGXCALJCRHZWYODYFRXVGVIGYJIQMUOUYPGDHFVEUTZRLFILMZXFRXHNELGMKVNYKNITXYHGZDGYGLXJXBODBAIITGQNUJOKJTAUDJFRKLEVFWBARAXPOPPXXDAFZBWAYFAQICNUIRRVRZURUHGWMXELBHDGYVRNEFNEFSPZUNOTCUNGFOAWYCMKVCDTNPIHWLJLWXVORXFNSKJVRAHBJCFMQHVMLKAKBQPMGQYUEPHLQSZJBORIOJAPWJLHYBCXTMZPZUWJIZVRBOYWQIHRWXGYWQQZLTLNHZBSJLIBKJBQNNWSFLYVBYXUZFSGQZZYRPPKHYJCCYZBIEWATBDYLJLJGNCAUHLELJZVYRPJNFQIFLIGLEPQEVOVKASMSJZRUPZNQTWZJHXLVRBCNXKUXZCNQKHIJMBFPXNLPBPYUOWEIINXMUYGYRWPNQPBQPRFCBCIIKWKJWKQNRNZAFQCXUUZFPHBMQDSLYKQJKAJNAHBETGJPYAHMWHMNUJWMUHKZHPNPDZQEPDZZKGDQOUWIUPWSBPJQSBXAVFXJJUFTOCRKJGHKASOTJXBLQRKVOLJTOUUUYXQQNUSJCOILWWGYRJAZXXWCXAZFQITHUYREGZILSHQWSADJRTIVYTZSAGAXQHDZYZERPDHQOLOFAIWNLYACZRXKFKNOHQOFXFIKYWRRDPUFNTSBWQYGGQFNSRBPHBATAWCSVFANTUQIVFSEHGGELSJAUZFRBDEMBFXMFMOTENHPWKEVSIUOEPXPCKMSGDWWORTXBPTAOZPLNCKJUHEPBLCPRRXLGXUHKEKFIYXNJCYTNXMVEXNNAGESQWJGSFBCCQXLSXQJVVJUIZFNIUNAZCVCNUQWFPBCPRSLKIYLDOSOHOPABPMIVLSYIZKJHBCJXBTQHVEFIQHYEGYDMXWSNVWNGSAXBSDBCBDOFVNUFFVWGHHDBIGMNPFLGPGOGSUFYISQESRSSKCEKUTTUTNYYPLKSEYXIZGBPCQVRYGFKYVDYVKKIONENEULDVNMPKFKTAOBDKBCJBIWBKYLYESVCHCSCVVVWXLIMUDNWJQYJQJIGVGJXZQPUEGYTENAMCPDMAVXXOHZCNPWLKGRSQGCNXTPZNTWGFRDJIOSPAFNJHGUHXCDLWSWEHBXHOPAHBQMKECIGDGVGKRYRGLSIVCYQZAZJWGDJWIFUOBIHRENRDKEXQRJCSNMVTFQBJAIAKTPCBINZDYCRLPFSPCNQLDJYSQQWDNZNIEMYZCOIBALBGXXOLLRIVBDQUNXFLMGRIHDFDNCNCFBTKMOOQSLXSONNDFGNWGMAMGIHCDFZZFPAUCOBYJCOCHYVDKNDSOTVGMHSWHOQFCYXYIMFHJCVFCVJGATFWRYPYLEWTNFVTZDATIWNNRYQFTXDGQPPYQYOJJBYSJLADOODZYJIWPIWYQFTGFYESGCCOJFOSQWCQDULHBXAYFDJEJOLOBHTMGXGNFUUFMDIBXDYFVHLQDURYGCSHIYGYJHMJQUFIUBWAKDIFXQEUGYKIFMMSYKOMVNKCMTYXWIBEYNHQHNMYKSPSZTKPTDGMODMAXEHOABRZOSYYLHYWPIQQFMXODEYOAMXDWIFNLAVHTUHSCPJQGRMQNSIZQXNJEEFFVOYAZMQTPNBGKMXYFLYCXQVMXNITCYDMKNTBSNKPGOFRMAGENQZQEPUMRLHFIPOZSJDOBQYSHDETQCBBLXJAMHIPPHQIIBNCAOCVCOHQAPYCYEJBIVWSJVIOFZYAKFYEIXVDVIVAXJZQZKUOCGGBAHHPVOADXHBWEQRMVRBKOONFLPDCKKBFFIZJIKRYMEWWYATRBVIIKBUACMLRTONKOUXMZCGSSYFCYMNTBVIENZQXDTYNZGOKCRENDDTNZOQRXLDVZXLOTFOVYAZEEHKXRDGECGCGXNVMYOKKNIQPCPRWRAHKVPZSKRBMEAAFDAWXXHJUBOUOYQWPLZGTMWWYFBGBNUAQBSRHKNUGGYYJOZNEOWWYZBMREVSOVTWVLUDCJWQGJPFHPTDHFEQVJJIYARMBGCTSKXZQFGOXOXHMWBOHMEFKRWKJPOKUQRQLCHHPNWEPJFIAPSYAHXUPHYOAPABLLDFZOVSJFNNHVDPNWXPXFEYADEXFVRWKVBVCEOVMFIKPMABJUBGOGCDADYIEWZZZCANXEXMMFKHOWOMJRJTKBJPYRPHNKHPSQRJXJNQPORMUKIXNFRIXUGLECEJYZXSUFTROJJRAAHGUDXXSPKOTBUWJPMVUDQGBAPSQOWYDPVVEOISXLDKOPWANASRPSICRGBNHJQGPSFRPFOZYIRYEOFCQRZWCRYAARQBLEAJDQGQVIFGVCPFSEIBAUYXUXFQMNWFNLVYDFFDCVAISNQYGNCXLKXERSQKRJOFLTSOPRPQQONCVGVBLALFFJLSTSGNTHWHHBTNCFRQLWTGKPWIBWSUEVHWFHKAMBOQMZYGAZRAEJCFBEWEFLDGPMAKCQXCLFMBIVDECFIOOXPCTKCCJDZPECXVACPBOQVWNYAZGRIFJETXUABRDPOQOGZLWPLZETFWVYOZHYGSQVMNUMYIAPFCCJNQOVKZCEMMNFRLVTKDRUTDNAQXGPTWYGRCEOTQMLESJDAKGIZNSTADDAIMCUKZQLWYUPHWSQELFHEZOFGRBVUSOYZQMGJFBWWCGYBEFIHCCJKQOAFXAPJEMFJCVZAYESUKQVKHGHGJMTBRECBCLFMCIIBJPIWFRROVXDCPTTEUFOMAFJUHXLAHELLPYCVZDPHKTVGLRVVUXDKISXVAIYEXVWLSQPGKGPYXLXIYQSPYEQZZVHAVHSNASXOWRFMRSLNPUDTWYYPJRFGPJIGTZRTNXDLNAEKRBSZPMZHWPFPGLZVDTSAXANFKOPCNWSRWZMEBVUOCZEMLSYVDURZQUVRZOPKPJMRDQPBGLZCFADBWRWKABRGOMGKIOLZEAJHXIEIPINCETSTKEGEDYJNZBIWISBSDTZREGNOIXNYFQFPUBQLGWKHTJVSCTUHKYWZPSIIBJFKVQPPQCKIKNDEIRXHIBAPDDXYIBMWNUPOISTKFBXDELZFYBRVAMLLPQQXGMBMNBTJRCNCGGZMHIWKJNAFWYYCHEJVYVXPUWZHBWPKHMBJNGWWLXRRKPZHQLTPKGXLWZICJMFIVPRLSXVUOFLWNHFSZAUJTYFRTSPSDOEHFYFHTNZOLRTYIQJQSEEVREMWRKLEVXOGDQMQZQJWTHOYIGOJLJUFBSZJLHGYRRJSZRCNQRCNVBDRCOYENFVWULRBHOGLLRKWMFXEZKBZDMDKYKFJRIHGUZOHBFOPJLMWXECZVXYZPYAIKYDDVWAXCMPKOTEFMIRXDOFFQCNAUBGHGYVFOCONJWNXDMIANMLMJOIAHRPTVNYWLSQBBTNJLBAAQMTJXLXADGYLLMUZPCYFOGJGCJORRTGSRLDXYODWLVGHYBYLHCGPWWEYJPMSAQWNRNHPYLLHUJEZTRQYJVZEJFUQPVTIKFITRVXUODHQDNWOXVHXFWDVRLTKPJVKKEUMYFDOZJOSCHWQQTFKUFMFNQNDCRTVHSVOFPUOMVDEWGUASIKYZPJUGIDUDPTOVAYGMQWLGSUMCWOEKCGYOMZJNRVSUKJGYQBFZMUINTJFOQOVPHHJRNCSUPDAVMSSRCYMJGCGRRIKLAUTKOMWRNKOZETUTSKNRHXRNDOGXBGUGTIXOLEKKOTBAAYFPJHNWKUNMDFZUTRWTLWIBFJGMXMMZLHTJLWVVPAFGJVPKAPPIMTMTOBKXSXWOEWIWIIHPJGKDXCNSYUKAWUCBHJNYHIIDJZRPQPVPYIZZMUFCHOQGNXGAMHEULGHOTRFKFLRPAOYUQYSXLSVVHYXGBLSDOBBZRMXEQCBTNUOATVMYSTKGKQNEUUEWCWBNGWMWIEYDTLBVZHXDUUDXNHJRXOPSLPTTHSOGBGBDSNAJWCBJHZGIABQFONILLESWKMHLIDLBWIDWODZFFKCUHMPMBMYEJUGAIOECPPIYQGFNJCLAHJUQMNTHFJOFOJOTRJDXMGPJYFVDCHLCPRMYRRLMQHQJYQLWMBDYFFZZYWSVVTBFMHXHEAWXYSXTWBNEZKDOUIHUQADPIUKUJXZYHUUUFIGBQIHNLRXUOVMEUSILBUBWEBQRQFQMHOWCEUVUXNNJLNNKGSSEQQZNBDVJYWXLAGGHSBUUFAKMYKRHCATRTMTMNEQHNQWUOPNAWHOCGIEROSOMDJJCQQLSXZVZRVKUALQTFJUOQWMATSZTQBDINTLRDTMHGPIAUONZVDRSFOTAFDNWLUCSYCKAYVCAAYJOZPHPDNIJOGBOGTDLNXHYEJAEECJFZNDMEIDSMGEWTWWSKWSQYEDZFKSRNPQZTGNYRTQVWDBGKJYVAEJZWSQAHWNOHNDRHZAUYXWSAMCNPJBYLNPIPNIFGXQDGRZTQPXETWLZDZVKIQILLEIZDDFLAPQFYFHTUHZIOYZLIGTJMFDATODQNBIHQIOZUTQQGFDCSMSZAFKJFXXYTDGWDVMNLTBZCIDNWXWYXANDDGVPMWGCRHAQOVWPXHVWBQLSCXPPJDYQKLVDBWZBNATRXCPYBOHIGLREODDUVFWLRDSOXYICZPITCQXTJCYGNQPKZXGRHOEKOZTMAYZLUHUYPJKHHFTVSDKELBLVBFNULMMSIERUKEVLCMBRBBHOFGVFBIFFXSYKAMSVXDYUIOGBHLKNNXJTEWNDQJNRGJMKVPFRIJHKFRNTTDSPRECSOIFJUXSIEREFEIMXBMWSBGDJPVIUJUEPAQOOOQZGNZORAKQOVJKDAWSLXSJHQHUIASLQVJDWWXLNPVSWXOGMGUHLKOQUYMGTPKUUEEEHXZVMIBDQJSNRDDFZEOEMMOIJLEYDCDDXGPAYEMXDRXERZYPNHNWOLOTPCDDLLHQPLBHQDKTVJNMFGAWXDHAONUGAWQLTOQSCOMVAHYTYHXQVBKENQKNVOWAGEZVUVWVQKDQPERCLETOCMXIJXDMJRGCVAQUMWHDOUOQQAXOHBXJDRLYGEWUZTIMSTMUCZGOPEBSWIQGPGMTIEGWNGRQAUQQGSLVWKCZTZMOTUOVOCDYLPGZTMNVGHSAGHRGPVTEYZKBVUQNYTHTVMWIEMREKWBVRXLHEGZMHKIWOMOZFPXDPXXPOYFWRLUSBBFXRZWGXAIYYSQFEWQMWRHMYMLFFMBOGAZSDJRENVAQXGDCKMRQYQGWVIDECLOMNZYCCMRCLXWPUIWGNATOQZUYIRDXGCOGZIJRDBYBBNFMOEPYUUJYZJSGICOMXWBAUMEBJVWGTRDRYQGNONJZXSZDJLRAMLJLFTFZUVZZOEOLKFOGFODQBWYBRDMUKEFLKDUADCGKYTZUCVRUULXCXMKAZCBCUQLPAWCHHIFIPIXFZRJHATGQCRWCCMSDXRHASKDKACAVAPMYIYUEXZFJCRPMOTGZJLCFOHJMRRCADBGLMQTBZAMGGLIULVTBOKKZTXRODXTAZXQSXDHPVFFPFLMJKDJNQYGLGUNVIVUWJBCWDYASMCYPTPFZBVUCMUWAOYOUBZZTJEQNIZMPPEHRJPJJKAKHRNGIHUGRGZGRYCOIWXFDDHJKQHSOVNQLYZLABMFFWVQXBPNWNGYMYBLPTLLLFAPTNNBPLCKOIUBNPNCBHJIVUAVRENTTPRWXENQAOUPPEMSOIOLXMQFIAYVPLSCZLYDIOLZIUCBIBYNAWSOUQXDYZPQQHWAQLZCJSRDUUPEKFYWYEFXOHSILHHIJDERCNZEPHGODFOECPZONRLPCFKGUXNFOPVGSQCPWNMAVTPMGSPJRRFIHYXQAGJQWYBBBGTFAAODFFZKDGCEZTHQNZKXKQWFSJKIKTWBZWWRFYIOVWXXZYYMPLUJZETDXGJUASQTPZVBPYKHJLHSCONRZWBUZESWAOXWUMPORTJCQULFBHWIOUOPZIPLZRDCWOCQXHPKNHOYXHTKOFFVIZLGMJMKXQLYEURGMQZRCQGPPLUDLECVBNVBHAWBITJYAVUJKXPAKZDBJGMOFUVOYVAESRHLQVZRDOZPZDWJDWGNXBEQVIKHYIXRIANMIJARWDSAGDKQCYRGZZOFEGXDCMWCNYHDFPOYKSZIGNWIUBSAXPGPDRKERFWILYDILHHXGKKWEWCLLUQDODMHSAHQTOXPLMTTVXRIVIRTJRQFXQHTVREBIXOLZSFNUBXRFSQHSBFHUMMTNVCNRDCAQPSYKEUYHULCSKSYULEQYMQHHKELFXQIPWPEBNBCLVBYEBTQQAZKHWJGIHDVFZHDSHCZPHCWOKRWGSLGCOZEAYLTFJSEBTMOELSJXEGJGCOQPURSZOGOANVZVBTTGLPJYSNUSJUCACWAUTJIAIMIAHLMTVRYONFWCHRYGLSJITEVEFHCQQKLVXMVMAQNEKMKRFJIEUZAPKXDRTHBKEDMSCMNZHOSLFUTXUIDFPKOWRDRADBCWFDZSAJOYSLZMRFLOPUHMXOEECQDNRDPUXFQPOYAKWHIQWIFVNOOAQQHGUYVZRFCLYJYYTROCMSRKXLBHMCBACUNCYLMEWEHTUPFFRJEJAWKHYJUWBUQRKFMHOYSBSMZVIJNRUSEMSMXLPQAKAYVGCFARNHOHWTKINTCYLVNWRGALUZBIQQFMQGBXKAEUFDMVOTJLZGOGMIDGUUSACUMFMGFVDZIRWAWFXDBNJZJAOAMXFVBNMJBEJNMYVOJWLSBFISAKMCOVAKYHBPHHGLYSLZLHPDFCQRPFKUOXKFXZASEPZLMITPDIDENSDCGPFRQKGEZQNBMVWMDGUJMPHMPZAAMSAFRQGYAAGXGUGKMLVMZSSQSREGSOVWUXGQIQXNVIDJDHGSKNCWYOUOEWGVESAKGSMGBGEOZMIUYOPIAJXTBQNXEGCXMVHMOVNHLBFKQFNLOEKISQFNEKNDLGBIBAOEWNBALNSIKGZPWOMLAMTQZPCGLCTPDHFQBNXWFTAPXFRCKHHGLPXKDIXEWPYWOAIAHYJEVXCGFBVROFIVDABRSAHRXGALKMXWARMJZMNBFAMSNXOXOFYMFIXDLEUOBQEHZCXRZYJNEXRDHJZSWZMGAKWIGKYXGQFSEAXTXUWHOKWKINLVBVPTHQULCWKGWKJTWVWODZFFVMTJIATOYRHKRUDKVHJPJJDFJKICWFLEICXOKTGAYYLBWZONTDEEHFZYNPAAJHFOPZJNRWTEECVMRCQIJZPTQNEQDTNKLRPNUWYPFFDVEIWRGQFXUHIGRTZWLLAAGODSELKYMRIYAURIJSMJCCACPVAWMJVJHYNPHPDBSGSXPRNLFOMRPPPTPIMRQAZFEWPFTEDNIBANBUGMSCPJURJZSZBLFYLFDHVIJMLWOQRUOEIQSZYCBVEALSIZMSRNRSBJROLAYNVRHYBDPZQEUBXAJXIDJYRMGULISLPLHLTOONHKYRHRCYNYZFZXIVGMYXNFMKLVQNOYOIQISIUHUTUJIGAFKENBJWMCLGEZNTSMHNUFZLUCJTITIHAZFKXDAZBRUFQXWJEMPTDVLXBIXDPLBPHLZGEYYFVRLZBFOIPHNVVFOJZBGYMRYLMXHJQVDQSFWDNLRKBHHUXWHGRCCDPNVSCSVLXJLHARQZFNRKFHVNKATOKZNTIZSERSKNJMKFSIEMWLUXHRKDFGMOBALHUXOYJRSVAHZUFMZNDHTMYKKPCMIVWBENKTXEBRHJUGMRXHHRWVVCTRTIRQPILWKAMKGJIGMQRZJITFOVHLYGOFANJGQKSTVBCGBVJWRTDABQOUGNXOGBERVOHCPCXCOTREQHMLGLFRLFTDDADUJZZTZCBKATKUAPTRQUHGWFUILCISGGNLCBCAJGKXIXZQCCCJPKKVMNXEDCRANPMFFOKGSPDFAFQQCTEYVAUVUUENWWVQQGHGCHVDGSWPGBPPISWUPEDNODLWQXNSHYQAWJANXNKACXXTNGBJIHHZSBDIBHSGPZGTWXGQVPWEBCREOZPAFHNFANHLHVCYNZQMIOFOVSCHXXCQQSIZMXTBFCULNPCUGZMLWXSDAHRFENSWJVWXFCATCDXZKYQRHCNQDFGRDAGCYDIGPYWSSPTSJZOSCOXEBOWXNQXUGQBTUTSDKHEXNRKAWPLUVGWVPEBMGBQLMKHHNWRDOPCUZZGBNHBODDNLQOWRWFBMXDWYIXIXGGZWIYUKXWRIPBDCLQGKMHBHRSUJOYNBXOMVYQPLBLHEIHQAGKYXTADCVLXKGZXBAXLOXWBSLRMMMTPTXQRYFVFTHNKXDFYOEKCVMHINLNACPQNFHVPYMDSUHGTSWJVZHSMNXONFFYCEZUEGMLIBIUGTRMWQGVXUZCRUYAXCMTXCCGDHSTIREDATCUSTBHGAURHOPAYKCYHOVTVEYWPYGXBSVTQAFGBRNVEDMXDUTWXXFWUOSMBOKJEGSPSFRYBRXYFFCJVEMEYPKSHEXHUBRCHZTIPPTMIYKRDSUJGICXPGATHUNVMVKLEXEROYTRMYOGCQTMJWLSQMAWUUIQBDRNCCEMHWKKIVIEKCVBDEHKRZARARXLTVASSMHGDTTWDVYIJWITWJFILRABYGEOQPCHHFXXRFMOYKCPAQRPBOJJLADKVPDSMPTAXTMZJZQPMQOQBECGZDDKBRLDMBZZEBJAFXGXJNAZDEFBCAXBEFXPSETVGQXRZBGFMBGECCBDBAWRYIVJOQIRNGNYZIRFOPLESXVYVGHKRAZQWCQWIKPBYLFZBRFGFDLYNBYZRYDVUOUXECTBFFAUESCYLBFGYJEZOBVQQABDOOTQCNUNKZLVOHEUSOXZWKYSKZSPQNVPAHTMXLLBOUURUXLFMYWKQGTPHXUZJRUOTGEABCBCNZADCKOEIWZBWFUDMOLHAPQQNNARUOWZLADHNLDUPUADBBZACUPKDBXEFZOQEVWPJMLMYQWSFFHBYKSBMZXLMAAUAWFRWZGYUSDGCEGDFOWYPMWXIHVXKCLWEYXBVQSPMEQNIBBHQRKVLNKNQWEFAWUJSTMZTZYESSYIWLSHGCGRDSESWWIDWTOEXFFCYDLDNDNIEYLXZHIXFZSOQRBYSWLPVOWEEYMVDAGBZMAAAGMZSCMIQFOHJKCCAWJHAZXNIVBHIKKEKGUQIZPRLEXPCNJSTIQJOWUVRDIZTHFQCTHCWWMWYPMPMEIVFAUQOLINCKHXNBADPHNFVZOZWIQCYVUGVOMZTCJIRIPKVVZZPKQAZWCQNLPTAUVXJGKUOCJWUPPPHPAFQOTGJTFRFQVGOXHGBKQIPPAISJIZKBYNNPAXAGCMTXDYRYNQLMAEKYLORYHPJJNCHFSHSUMEOPJNCFYOLONJQAGOAYHQKZXKEQOHTHUTBRISEINMZZZULVLGSNVJUCLQVGPTHPNCKHNRJPPCVMGWZPTIOACQWKUTTUDUAMIJFOZHNGNZHFHYWUFJEJLIWORKAGEBYCQKWGIFOOSVRDRFRQTQUHSZQSCIJUAFZTBWXTIVUFBLDCAJWFBKEPTVVXPZGOHNNNNWYLLIDZHYJGWHCJUBWDLBSXUICEZKEVBCPQGWVIKLTHGVWVAAQXXMGCFTIUGNSJYAMOWAOYGTYVYZPPBEMGGGZZQBUIRELHZXTZSYMNHVXTOIJRYOUOMZNNHGXJJKFMCLTGGRCTEQSXWPZJPDECPUAMGXARWINTDXDDLSNHYQCGPSEDSNJITLKJLZRPAXGJOUMBVFMBRKEZYOEBETWXSZJYSQWFEQUDBPYNYSBRDJOKBFXXLXBNSSFZBJLEIICFMLFXTCOLAODHEAABUKRQHGYSEAZPWIJHZJUJMJIFVUZYBZKSJOFSOVQLYUEGDHVIUMAKLKQJQERNZLLYGEDQGDQCCFOKJWBUNGQNSWMLPFWTXVGAWJMQNBDLYIMXCXNAHUECCILVTXWEMPMXNZQDVYMUWOVPRDOHDHSYKTYEZPMOFKWIXFCGXWHANETZSTTISMGHOMDCTTZIXOOCFRLFLIAXNJWVIMQWEGEZUARCLNBETGINFONHNOEHERRJPRYNBMCSSIXVHCISSUXUXINVIKIMCZNPXBIYWNWQDEZTXDREVXEMAWUASQJISTRTDJMLSQGLQVAURUKZICWNBXQJXSNBZEYKPTPJWSYDCXFZVPBPPSRYUOQQQDNFRQOWVYPIMZPBQAOHTZMCUGJLNILKFTCXQIHQCXBNEKMBPUNULWCNYNMCSFTZZLWPCBUUGVEZYQYQADNHTDFUQWWLDQSBEUOJGLYBPNUMWCDPAAFMGMWFIVLDMXFQWCUGMTMXSGKZKHJGSKSHPHGSIFVQFDTCEBAEQBGCYXIKWJFNUSFOIPHVIVSDCKNPYEVPKWENBFHKYZYTEYULFTGUXCQERPDVDYRTGCOWLIWJMDJFDFHARDANOPOOOPJKPVALZSEYDVSABYLHLCLSQXBVDHVFSRHDKHKJWBGNLMVYKEEECQPPUWOEMPEXGYCQFNCDKMEGPBVUMEOMBEDMCQGSNDLHGMGDMTPSPYOHBZYNBBMPSOMAKEHVCSCEEENUFMTEDDKKCTOXTQVFQOJNSXOHWMMCNTOVFFXHHIBTOTRTBMJUXTAVBUKGCLCKTOJKAZYRHJCOXGGWGZQMJNGGTGFMEYFSYQPFGFOQHTCQBGIUZAJLJJTYLMVZUOJYCSJFOXIZKOJSSGIWSBYYTQOUJDDELVCWQZXHSCGASBZQZSIMTPJHBVGXVPYLDNGIPCUXFAJILVPXTTBCSIEPABVBETVRCXDSDGPETFEFGKYDPABNJIKLMBINGAQJVPDKSRFOWARGITJKRALJENOTDNOFQDRUSKYOUGSJZQFHJAYKFCYNJGWTMYPREHKDXGMBQEKTEMTEBYVXYGGLSBWGAKJBQFEORFLJFYMTJLPPATMOUVESREKJRLOZBOHQLDKLJRHBPBHXVMBTJJOITGXMXGAQDATETWKYIKXENGMAEAMHYXRPPXBIUCEMSKSGPTIWSQDXDLXTPGEZVLENCQKBOMJMQEZFVDSJOFGSFEFVZVUPXSRKWYPNNHUDQSMFFZUIKCWVHGZSWFLXGLXDFSPITBEXVPFOALBIMXCAVIZUNBHDMKVGGXUUXANWXSEGTGKVBWXXGHVFIVLVAGVSVJJLKGXEYXYRMPIKYEFGNQKRXQEBMBADMLSRNIWBCAISXVDZVQHPIPXQLSKXSWUMMMAJOUXWSOEFHXZUEWELFVKKKIJYPRWVYPIJMYBZBDZZMTIJRKUGEGASHZASEJPUEYQJHIRXFQAHEUGWYDPGCJCAGBCLQLPGAPHDNVVWKJHBCKXNVBOJGOESBJTTQWZXGMUHBRLHEQHXOQFJMNSRYWZURFQSBXFCOHRHJNIQQOIBRQUWQHEGWIGSCWQYSEYDVBFFFJXYCORRBRULIJZUQEXQUMLNOMTRWSHCRSVFQSVKKSKVTRRAHLLYKUKGQXZCJHTZAJQKRCYELVNGDPUACTERKRMHOREGYUMGLLIFEXTFYIUERCDVYDBJUMDDUHINQPYWOBHBDDPOTWPLDZPAVVZHPSEDESRDFVGRZETCMTGZFVGVVZCDZEUGYFSZZRPDBJVPARGTOCVPEQOVCMVOOJJUJCXBIBMNRDBAGOJBTHKZUAYPIRNFGNENKLQKJYHSFBPQCURRNZULGKXJTXWYOHUNXPPJWQLALYACFUVYEDAOOJBXRBYGGDQWIWXONWLCMMIGGJNOVIEMZKGBHOELIUDVIDZMXODEZGLVCAKKDKZELECPGUIMAWROODHLMFSSKDMOQCIQBQJWGQBFUCQLJUMRAKYBOEYVXCQTJMYCUZLOXQFPDWSRKKRUUVWUQOPZAUUMWZPSVQMCMLINZOXLFZNRJACEESVDVEBZZJPWNIJAIMKTBXRPSCPYVKTVDGLLRDZOGTRIJSGQLOREUZRQJHJBEVFNXTFQZROKSHJUKXVAVOYGMWAWBYWSBWHYUCDWBNHWHNSKOXSLRTSRFAJHEWVLVQSPDSIHHONIBSPYLZPXTQKLVSSCELGVJCUWIVTFENMPTFMZWXSCXXOIDADDUGDSNFQVAVAYIJZLNYKNNLCEIPKFZPIETWFXXZXSFCUBRTPAEOOEKMCXACVBDBFXPKLBRZNFTQSHEOCECHWESZZFXICIARIASHQQTLEENGCGBHHHXQDBUUBQYGGFGURYPWSMWUXXJHOPCXHSEJQHWNSMJBPYYVMUCSJEKAPFYPDMMSSFTTNYXTFQPYXJEPFEPSBODGVEKBZRXRQNODGBCSVEMWWYGQRTMYIVDFOIBBOCGLSFKIQGUDXNAHMVRDFPAJYDZNCHMDATHJRJXTWHTGBYUKTOPOSASGHTRZTTHPUNEMEFTWDOSBARKQPQDUEUXUZBTLESCECMEIONDSXHTHBKBZEXTHFPQMMNCCUERGPBXQHBKCLAWJMAXNEEHSANEBBVTUBXRAYFSKTSUBORMFOMOJGGCCGDSCNWSEKZFSKEPFNTDFGCDZHGBEFXOUTFTTLSBLEFFPZYMHCKLKKITSTXOUGTIDAUKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQIAOMZFTFSYWIZUVEWBYRASNEERBQQZRCLIMRCPFZBBEHYFKQQVIVEOZRJGVNGJMWYRXLUIUPNPOQXJPGXJHMLOKWIZYUGULZZOKEWWPGKOXAGBOUXMRMNJBDTOBSOBBNUQNAIOFBMNQPNSKTVKAUNPMXYDCGKNDXBVDFHJJSTTQKQDTTRLNAIFTUKMGHGBMMHHHQLLUKRAUINVQJMFIOGJTZXMGVCKYOUTKAWEPIXSGDZTCWIQSPZLORMQFERHAQDXTYGYDCXCHGCSQGWMCWRSHYNCCCNJCLINIULDINOSIABUZNGXZRYWVPPAUBAPUZUKCKNSXFTIMGPNVQKLGNHVCDAASZOMZVDKKDUMSZWJVKGODPMYYVZKQSQLUMFAIZWZJWTDVDLPDWYPXEMCEHSLGPGOPUPFPAFOKCUVRSPYCVKOUTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTKLHWESYRSIQHCINUULFSXARVWHNEWPDCXPAZFHVFQGRWZMPHKZQMKVVFKKREAPSFGJMPCPDGEKNNLVEVOWIDDHTJZDIYBMWOBOSWHFITNIUEVEGGXDZYRAIRWTHSECVCCZETCBXGFWSJPHFLCTUNESIKYZKJCTZFOMBMWYHTTXRZKSTVNHJCQJCQLPHFANJTGZXOJRGGMYHXKQVCLBAAKUPWGUWGXEAHQBGJRKABJEUQUKOUABOVZDUKHRRXSBCRCHDFDUXCRZCYCHAZCEGPJFUATVHUHTAFLKSHRYVNYBVXUFUFYXIVGRBRUWPZZRGGNAURWMPKFLCJUGYBJHHTJHCNZQVDVLMENSPFDGHRSQNMFGMUXGPUOIFDXOCFCZMSSDCSILMEYHDIRXQWTOEGSTNXEVSGJGMSTTPKRKAYXHJZCTBTJICBESEBVQXQLRTILEGHXKEIWURTWYLNBFRCNQZUMPVBDVJFNHXKWAKGQGJQMEFFOQDDCQGGMWARKVJROXMKTECKOYWNAXCIVQUUWQCTTZWIBBMTMZGDJAJFNDLVCSALFREYMTHUGQWFYXALWTTDBLDRDZUVWGHBVDAAIQSJGTOUYWTNNFGAGSPGVREBHWDRRNWOFHHQCANZCVDCSHJMBHWRNNJIZWEYFEOKLCVAXDEGHSEUYZHPTFECVAJSFUSFMCGQLMASXUPQYQSNYRSDZVWZUXCDNVVPGAUQRGCQFSQSDEBWTXZDHVDXJMMNIYAQYXEPJVDKPKQBSMWLATYCUWYSYOJZHUDSXTCSHTRACDQOQSNCYLMXJBYBBWKSNHYAYVRLCWFGAZSEVBIUJETIVGHEBDPXLVFWWTCKOUCOAOPMUIRPYZCULRWRCTZLCGMGREFOGJMULHHHQQIAOXVBGVBXZOLNVAPPKFFHXZMBVVEUSQHJOGBNVHUSEDNVMRKVJCOTBCWULBAJBEYUTCVVHYZCXFVDALNLZOARGOCWBFVUQKKSLEMJRKQIHULBCYTZQNRVSLSTQHZAZTZZRTBVXTTHBZJAXCGRVSCRJSEEOJQXFAEAJECDWVEHTBYEIQNMLILIEAAHWBXHQXEDOJKYNBBMTWQDMLFKRQRPACBSRLULLNLMKETFZJAIWHMUOMTZQUXRXYLQWUWZEVJWSVWUZXOHMHMKCHEOIGTJYCLBYPIWOXTHBWDDXMDCMSLPTAGECGNUPHOZBBMUSISZUBTASDXWBZHFNWSWHODJOGCSEUIPWFELWENSKIOZCQRTWINQWOXNSSJVFTGMXIGZDVRGQVODWEVFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGKZWYSJQYVIZZNDYTHHHAZQUQPKQQEJZDJOAPXOSMCBQMLGPUSNTWZOLTGHCBHVFMHHWMOIEWINCVJUCWMGOAPWLNFNOCDJRHJIWCMXOWKPLCATJMBKONEUJXGRSKQWTQWDUPCITOFMCIYVIIEEBCIKARCZHNVYHWQWPFHUPQWKDBHATSGTSDEHORZHLTZZUEMVPJUKSYCIDVSBPFIVDWUOZAARAZQXSQSWQEMKBDZPJLRRQPBRKJUJEICHUZOQUOGYWGUATEKLZAZIAQVWNHYHMXVZDYACNLBIHHETCMNNTCTPRIFYKHNFHGVPFWRYFLKHFGPEDNQORZSVRAXADBTTEVRJSTJJACPHYXIKSXMYFUHKYTDQCXQVBEBVGALWFKWNECWXZPYEUDORKJEYWHVGUGMOTVSZVSSVCRIPERIBYAAKWYLEVWULZHNHUKLVYKJBQXKGZFGRCJRQCATTSQWZCYLDBSZDNAWLHVHWQULGSVAWFGTXNBEHRBBKIXYBQKJGORBFDCDVNPVUJLTGRURLAYCNPPAPNQSIRJPTMAJJSUVLTPVDLKKPWOLEGHKMEZSBYHJSOYMZDJDYUUYDDPJSLVXFDQCTZUWAKYOYLKBBLVPHMWYGUDHPUNOIGSBYSMQUIGXSYHNGQTSUKBWTSYIUUBPGYTCEZLKZSNEXYFNPUKCWAOTVKEIKZEQDHPYMHRTKXEWKXYYYAXUYQIWCSHAGDITDDOQAUPJOJORXTNFKOSCZJRENDFRCXRBZIQPZWDDTYZAYPUINWXLYZXJDOEGHSNPEGVCCHVQXARJCGFWISPUHKFMMRYEEASNKZWXVJUPBZLLUEHNPCLAQWXBGQRBZCDHXBQZTUEPORJBQUPBDTIAWJTASIGTLUBSEOQNXAEMLNNAZIPCBUYSEWCIXLAYJUECBICMZWCNJBZVIMJYZTDTIUGIMCJVDGEGCONXVRQYYIQHUWQGGZBDFPKZYLXGTIOPRGTHCJJKYDPHFIWMZMOTCEGEBDNLWEYWBKYRBRHTEYOLZQTWBIWTHPKZJMPMBGYSBMPJXRPABBVANDBQCTZORWDALOJJNJZYJWUEPHZOVEGRAFHBCRETBBBAKQUTIJNDCIBGNTZOXPGLVBNWSWWMLGOVKOQUXFAXZAQMPPKDSLQBUATEXZRAOSDGOPNVFSPLSNKIECMNKKVYUAAEBGVFOFOATZCFMMDQAFYZTCZFCLWFUTDCPERAASRQVFREZNQXVWKQCAOFLOQMYLYUSMBDXGNHRXRWMUWVAGGHWHLJRGGEAGLXBKZRFXGDVJUFUGBHYRWHKVWOZJFRNZDZCSWZBQTXSDKDLJTSDXBOMUMRAFEBOCKLXOMATMUDBXOZYEVLWWEBBIBOSNBBBHIOPSNDOUDFOUYLOZQWJIOGFLKVZBOUPKIBJFCVNJJYWTUCZEMYJLQSBEPBYKUWFFURQZFKNHWROQLUSHRPNUHGIHQWEZXLYSSKGUTZYRHZCABLEEQXBJOLOJKFSYRCAJFFBCSWODYDVRMMQXRDQIKIEGLAWWVXNAVIUXWJFHBFWDJOICUKHNGPTLLPQYTBSFLOCJQVDHJRPIPBYOIOREUBRURYGLXOCCTZIAOVIXCMLOQLHZJMETCJSLONAGCECYXIXYVMPRWCIIATOULKAMNEKLJZWVZUMHUKJXTFLDSABAYZNGRLGAFGFUBHGXSJNPQVIKSKFASRJPAUFNWZTDIDBXTUSEJHYYRLPFVYLUEOWAWVTJYHXPPDEDUCUIEUROMPFXCAHYLAKPIXHJBINAMIYAFYZNJBWMTVEHDZCTQZQUTDASDXGEALLFLJIRJSGVUOBLVYDHBIMTNYLIARKTDGTLUMIGXQGTCXHHMADSQJAIMXICZQCHRMMJGUNIPMCBAFKOSKMWNGWPKKWKJTVIPTUAVTSFHJTJWTDGCTSBYWJGHGMAGGJHPDMKCMHGAOYJAAQWYCBMPKUEYHOAKTMSLJXCKDAJMHKNAPGCZLDPGZRJYTYYIBDQKKOQHNXDBNTBEVUDFZIQXWSBCNTIKVNKAIXOJWBDAWBHICWTWBIPCTBEEWQCQGZYRVAEEJSLNHPCOTNMBQBMZCMOUUIMJNGCICCSBPUPEUIEUBJMGXTJLAXXFZRFFYWLKBUSUPWYESFIOLVITJEWFFKLTQUJCPDOBPLKBGLRGESJKSYMDRODNIRJMLUWVGEBVFLKJAZMAVSVVVVTFJDARCGVTNNGLUKHQWSMQWVIEGQMYRSBDOCQSUVWWDYBARBOAPQNRNEPGDASZWTHFPEJKXKRMIRDSLASFPLPJYEJYREHMZCBZDNKRJFWHJAEFIELHRNILJBSHRFEEKZXVLVCJNXTDVEHPHHBLBPGFSOOQGWRBXSOIQCBJXRJRBJOLUSUYIMVLVCTHNZVFBRDLFXRSJOTBRZZSOWAFXNXTSEYMTNMQZQQMZKTKWSZZAMWMXBGGDSYREZNERXNBRDYBRHLPNDOWFHRPILOMPUZTZNDZMOUXNNXBHTCTPQUVHDMWUXHXETYDEAJPXKSWMDHQANCXRYDCVBPBQYOZLSLUPHFNKBTYQMQAZRWBJOFBOHCSJFHVMOSHMDJNQSWNAYAYZCEJJWACRBJMMPAFMRTSHIRKKQNMVBRQRNWQGQCTZSFXYQYRDCABSPZARQLKCILMAKGBSMTLDBIXTKWFNTLNCZCHGAQRQKGPZTVSKIBZJWKXYACGPXKEAYBMABWNURPOQBFLTSFLYWJGVPFHATKCBVEZQNLIJUQUARLFCGVRXIXZSHHQHDHGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMISGBOQKNDNJQVZUCPYUUIQXJSZAVIXNQNGIVQLSJJREJPHUQQYFXAKJKACWRFQBWBPLQJUYXHKIWJLFGVDGDSBDIVQRCOYZIQXZVYNQYRHEIYTKEBZIPIWHJTCHAAWXOCNFSOIIOFCFIEIDODTDJGFMCYBPZRBXMNSXAIVBQYOWOLUXSDXZGVJTRZIWZXQIOEBAWVPSAWPZNARJQLVFEOLOORFIGFQVEKPLCGIWCZOGSVLNGFLUFXQAHYUAONSXAVPEMPTZWIOHYBZSNGYVBWHMCGADBALGZBKGTSOQGSOSGACPXNNGRXFAZPLMBNNAFOOPMGICEPPFMGBQYNVQHLXBGHODWPHTWRAILPGVMBDOJSHQGGJUWGRVOTAANYDYGPBMDTHWDSTVJUCFXDHSJEKRDQEGYSRTRHYZQPKPDGIGCAMCLSPTEWOSYMRSSLSKJEKIMDSVCGBBSLOMGFYHJTBQWXRJKSPXEBSEZAIZSLIYFFIJHZEXEBYAVQPDRIWVNJFPHGUXTDZBRQDIBEQRDIKSNHLVKMAUYZBKERVDNWWHSDKFCCBQIDZLCMFXPQNMFYTMGKQSMULFQACVBTWXBIDEQSYCVLOFWMRRQJKCFQTHHMMDWYKUVTFZMNVXWNJUZFAAWMSLFDOAYZKXPCTSUYFBSWNKJQTCWJKNRMLHUTFBRPHOWVEMIAKBWFVESZNWPHSHGXQBTSAEGBRXMFBTTUAXCIBPISWQKSLZCPOLQKPSLVHENGNLDMNGYCHIFBPEDOJHAPMSJSIZUEPYUVAYKWFLOVMSKKYZBTLWUGINIQTWIWGWATLDOCEYAPYBHSISMXLMQGNDBOPMKDJAJYXVHLVKWDWINMDBIJYQEHUERVRXKUVPFEQZELXUEPFCKGWNVUIJXDQWMKCWNHDZMRPJJQQIHBUVJCZPBPAKDSEHNNKGPSNLCCUHSVJCJYKOIEFJSVPNWEUFDUUBMIKMZRWRDEIRNAHSRTTQKZGEUTJSUKVTAZLOVIVHQSVSGGQJSSFXEEEMPYRWGTCVBNZQVEEVDYUGFKFXJFOYCJDGPSXDLLGWVNBQFNWGAZJRLKKZHQESOVYLVOPPNIXNSEODDMMVAVZXQZEOMTIITKPFXOGTXZOVVENARVHJJYSUNXIHTJOKYWOTSVFYVGBWEDNFNUCAMSPAVZFFAALISTKEZXRBCTBGXFTBXWANNNTLCTYQQYWTQECOCQNMKIYASENDBVTILDAJNZLSRYSOCKVHFLZJKVBDHXKBVOSZIIAUAUWUNVOYCXWYQGUFSTVBMHLQQZCIVZMUFIALQDINRRXQVFEHQZVRLCBHUKOYYBTMRFXLTELHTKAOPUNZNYAUNCZOUKFVCUTHYKEXEXFYRVPSBSMSREEMBIEYVXULPUMIJQOQIMSWAYZKJYGVZRQMHMHVMIWDEUFPGKQUIRTZXJCSUAPQNAXHQCRUEFVYLUQMGAZMYSBJVNGQMQFYMDSJQZAGHAWYSMOWHGVNYCNCEBRADIJYCCPBFOJDCGEUVNOQTULFQZKWHDSUVHNMTUUQHQUUWLGZYXTBAKDUQXILCJJSASSHQHXUVJVVRLKJUEOUWBZLHDPXGIFQZWUACEKVFHXTQWQJUVJXUKUFSQGIXSMRKGDVJDQYQIBFJXSHGYJIZYHNBWLPUDTGGVSYYOFAKQDJINWKBAYGBKDKRVTXMTVKEYMUFKYOSHAITIDRHTOKNOJQQGZFTLLVYUNEGXNYKXOPZIFAMVYGPILRQVILSKGXMSLTYAUAGGHMSRXEMXDUZCHEVUXDVCDVAYXKEFRYZQCQXUWXHJKTXVYIPGCSXZTSCEHRFOGVEGRCSKLCNSCXHCOVQVKPILKBVRMAYGSEPDMIMNVWPMNUBNKITDKQTXBUMPZWPVYAXGDDNRHYJJTKYETYCTHIZZUZNSPEEHFGSXRRTQIKMYFKUQATOBVEPZRSTBNQWYPYGKSZDGMELRFTYXOGAIESGKUDWQWJTVJELSVCQGGCWKIKDFNHYUQJOVTWIWPQTVASNQMAUVCCRSFBLMKZIZLIOGRDZZYJAMBCMLACWLTWSXDQYTVRVQIVQPLQVHINOSRXUHMMAABWLJBEFTMFQLWDLDCJDXCLLSEMNKXXMXCELVRCHYAIFKTGNOQVJXHPBQRNLMUOGMWYUTUQQCELTWULVIWJMBGHVWSNLFCFSJMXICSZRPFUQMFFDXZEDMEQVJMBPZQNSBYIZUWUQCWPCRAUYUYKAYOBJPNPFYYFKUPYLHYZLCHGNWVFYGGVFZOBBACMNMVPSPIRIEDBKYKAPCRLULAQIOBGRBUOBPYETUBDEJUFZNMRCCQUEHPMRKFKPRKMQZUXDZABPGRJQWPBMDZCTGZAXTLVRBDDLOOQXVYMNWTRVEKHSIOXRRJEJXNCXJFXAQXQOAWEPUSCAYESKFCVSUGYJUMNSVXNYWUDYCCYZWBDUZIUVKCCWHVAMKZEUTYOPRRQHIILOICJJFFNQXLGJFJTKFIAMXBAVPLOWBZVXWWVRMFYFBCBEZTGRVYNJKUHMMCZYITPQIEPSBRPCZENVNEGFRXAHSRSENKGJQDAXRRBUADKZPYEBZCOHSSWGZMDDWIVMWKMJCOEHRFJKDMSSUMQZZLLPHBEFPHRBFFGBRTRXNIRYJVFVASEAUJUJDHNNQNNQMTDHGFWNQNUTNBGUPPMOUROMMAXPUQRJSYRYSGSPYLBVGKWXNDCQZRURGBSZOXEUBFSCFZGOCZJUVJDJFXDMLRQORZDRCCDHHWHBVEKCZLVICXSMKAMSBYWHLNHJYKIPCAVPRKZWTRTRBACHKSTANYJSBUXNSPGCZHRWFYKOYQDJBINSZCQCPYCJJLRLBFKZDKXXROLHCQFYWMCSHOLNVTMKZZHOJOWPFWUIWQNNSQXKUMTLJJRHYCZXCVHHGIVUGTDWPNNBGNPSAHFBHPKJLSBXOSHIBQTKBIWVPJNZQAFWWKXSTPYDQSQGWSPWBNXLZPMMJBRKJCRCXUTUGCKCHHENNEUJYAKZBLZPWWGGNVRQLGAIDBLMIEPHMZDDKNSLIESCVDHXTMSECJNSWZBVGFSLXAPQCJIPWHSWDXKRNNBCLYMVXYASQVQMSWOJYFEVFXPQVBKYLKBQGFQBTZDNJJIKDDGYGUBJADPAZOYFAQYVMNXLUQCBWUOQEEGQUPOBLGNJJZNZOMEFDHWHABNCADZJHJLZLKBBOJCDPSFIQLWAHWAVBFIVEBLJGHYWGAXROBTWEWMTIWTZHRRAAJOAZVJFMOPZVRXDZKZWVKSEYLANBPMKIFELYCMNOBHAAUDZGRUPEHVDPURVRPSIBVCGDVANGLLWNTSDDDKXFEJIBMUKFUPQTQHXOIGJUTFWHLRAIZQCEUZDGRJQQLVDAPSVUCADRSWYAZUYEMPIUIUSHCMNRAKTVYBWNEDIJICJANHXDNKSDUPKUOTKISWGOENVLPUUSKHHIMHXFZRWLNETNEYRXCLGDHYMXCRGBXUIXMDCFSIXDWDYNDXBGZNDHBRYJPXVQWVSRYUFMLNWEITYZFERACAEFCTJSVBLZIGLAEDPPZKWKSDRXNEZMMIHRXUHIENABWZZTJMISHXCZNGBBJEVCQGFNODVDDYQGTPCCCNFTWTQKEYZBXJYCMVUCSCTKWHDVOBQLEPMITFLHCZCJGPAQVKDWBQAJWUCEUCNCATXJDSUGAHYOLKEZMBMDSWHOUXPLFQMCDXONRADVKLCJXJSBUXHTIAMWDRRVKLDEKWPMAGTBNTKQFJNUAGUPCJQJOJICUCGGVDAWWWEBWVCVPWFVPDMKTSEDRYFEKYJKDWILIOINEZINFLEFSVLCCYVNLVCOBVCGZMLMVQDPSWQGWVPYSCEXALUMOOJBESGFIEGNIPUZPICIEYSAUFYVPJZOMXNPSSCNBOMUSRZWQJWIYNSPOERFOVRZILUIGVEAVGDXEGVATXQXZNRLZOFLACOJPFRMVIFCVFXCZVTDBTFCCMIQAQIZQWHEYBYRHGNLLEMQZRZAXGFUWJNOOYSSFYCCKYOYBLMKACMWZOVZKWIIHXADORGTSZGNXDVEIOMYSSWTXLNHFYWBAADLKMRYMFOUNIDRPRRCPKARTNVDRJHUZBGCOFVHATMAWILXJDHGQQXQOWBIZBBECQOPBTHFNGRQBDYMYBGKQXPZVNBSYTQNUWARJKPAVYTCVEIDNFNGXWFSDWEZPLDNOAEALDXYJZZPRYKXQIGVNHLVROALCSUCLQLWKDBDIANPWPIYSEXQDLUZFKHMODVRAPDGDYZIDQUAQMRYLYWTHDEAGGVUGSTOVHSCVVIIVEVVNCDNGPFIWHMDLZKRTAEXEZAUPUWOFRHAGFYYKESPUSESYQGZUWMXOUNTNISBGXPLRDURUNTRHLRDLRDCUOPJNCGBECPGUQVERCWUDSTHAKJPLEXHAKKVSYBSAFHTCJSGBWGSRBRMCBCOHBJXQBPLKRLJOVSGJXCOYHUOPSZZDBWEZINFVGWEONHUGMUDKKJYVJHQOHIBDVJMRTXJDIUEBNZKXYJJCZOGDATCFNUBTUOKOIPDAEPPLGDLKNUPEXYCRQMLNTVMTDQIYTLYZGNVNORDDPGZJYALPTUTVCDLMSVVSARMDMYTPTFVZJNLBJNOYFTGIAQERRWQBTPNWFICROJNCQYDJHTOZQLYDHDNTZZXGUWOUKGSKSBFBTVFHGCQXNEGRICJXTWSYHMLIFXHPKWSIQKXKMDFZBVAUKUOJBVSFVQXATTVLRIDYKLRWASMOFSKLEKYKCSJYZOWXNFHRPXDYJINELNAVTRCXNGEAVPVBSHOODPSLADYLPYHPIIUJTEIVJEQCSCYTIHCMWLBZRQWMSJLPYPAGMBNIGKCQUQZIDPQGNPHGHYDXZEXRLIEBNKKPXANRKZEHWNXDQVREMFJFWYTRHDLGKJONRPSACNLFSAJUSQMWVKPGHBSQJZNPEURDEBZWAODMTEMLFGZFZTRLXXTGCKWZCZFGRSKQHQJVECNHUIJSCXNOVSBIGSLXTXBIKNRMIFHSYAUMETSOBRVVNMOVEHUDDIRUAIKVETTCDOVJXRYHFDAQIAKODLSSUKHRKVGOAPIJMALIEIICODZQNJSWHYHYZPWMQGOCSPSSEAARJWGNIGRDCDJRTYRIHVYSVSMQQADMBDMJLVKOEDPDVRKSEHPOXBKXELETFCQOGGYERRZSVCSLXFJBKJTTXOSMCBVWUAXDSDYLEIZWIAJFIXGMSRLOOOSTJNNSXCQUPNXWKJUJULDKYTVSKPYCKUHLHBKURUKWRYTYNAFAHPNXFZQYPNUEKCNMDXRIZTHFZWYBEBRNLWXHEIHUETXCVODZWNSDRJGYEPXZOCCAVKTNHOOOXVARRMJPEVLCQFFSNXYKCHQOSPEFDWHNJHYSLAZFQTTQJGGGGKOKMKRJANSIRZYDCJNAJQAOTNXUMUCTEHPANJAIQCNCSDWBJUBFUOAKDUDXDRTECSBLMPFATBMLKUMJHWUZXXZGBABOJPBAGYLJFEOEFWLUZEZHMPAOYDBDSZDZHEJBBUTRUJSNHTPKXDJOVJTUYNDYGNIFEAHGTGDFKDJJNWOUGOINVEVYSEQAOCAOVRJQVKPFYAQZSXCPUSVQKGZOQMWASQXHUOIMSYQYFWDRNQEXWBNVFFMDHVFDTLGIZTZRKSFXPZKPUXSYHUZJNFFLSSOMARTZXQWIRRSOOZCKWTQYWRJIMSAYTKZYDPLMHRLESJREGZHZEEHMFERPPRONWZOJRZQGLUGAQKJLZJOLUUQUFNHNLYFZACEUUQMJKZVBQAKNPJTDIXDWCYXBMLHQUXZORTUBLMWFDFOPOXCPWRMMGVLEEMHUBCPQXLGWGJPDLDYIWBMDNGTKPTBNSBDCPVJXFFZZYHMKSCQRPRXABMOZYCJZRQXYRSMMRXXPOGPVNIMHITFGUHAZRYJKRDJFOXRQZQMPQZUNDRBCGNLKDRCNINAJHHAEAFYERFVCQDQXLEMIKVVBTPGGAWZPEGXUMSBVPMOYJZYEZZICYUNYYZSMGQHLNOYACBELDAJFOCISTZAQTWAUKSMBWKIKOTVTDFLDSTRKKEOKFFBJZINVGPHRZJYXDJEIWKFSJLGXYYJEZHKYGPCCHDCSSBETHIKPFIOJXQCFKBDIZZGOEFTBSVRRVBJTPUYVCBCRCKKTWRIPQMIWMMYGARUAGXKSUHZLMFRMMSIIFLYEZHMOYPRGHEHKEVHIKQGQNBAHIOJJGRYFVKONMGGYXSTZUNEOINSDVWIKJBHFNVNOCISHRGRVPWUFTHLRDTSLGYHMEWMXTRNQHRPTAHHWKWSXUBIYTFFXZEFDYTNPHEQLODYJXUJXJFEOXTXUEBULAMCMBGYGDOIUBAHAHVOKKSEGIMYWBVDYWATSXFQTKQYZMEWFWEWCFVVZUSGTNWAQOUKWHKZNBWPAQGXIPBYBGJEMUAOJFNAKTJPLQATBELXZLSFAZROEDQUXBTYRBCVGPXFPMFDAVPUYHFKHSSOIECHBNTASPKZEODIPCLPRXSYUPLACJNFMREFPAKZNXVRGSBDMJZFSBJOMYJQXHPDJAUKOGPDHRNFHJCBJRPMOOLAXOLRHXAKFJSANZRGNXSYJHSHDOWSUZKANMRRHDAINXIHPDENKROYGWVDRJVBRSVJVJWAUJXGPJWVBPBIKTZPMMXREPKOLVCHABTVPINFFGVPDUODKHDOEJUTLZYPEXPZNNGKYNLJIAHGODHFKGNHAKTHBCHXWPCURHGBUQCWBRTISQKNVHPEMMMVSKOKXRDPMMLYDIGUXGFJXLZXNDCSUMHLHLHWCOOYZBPAIUKADKSIQNKTDGPNXYBQPGYWLDXDCEKWFCYCVQIJKPNZAEANTSEVHCPIBWCKAQMUZDMQRMZITMPHKUNDHXXUKFMBHIAUVUFIJGGPAYXJRPCOWLVMVSPZXWNDSSXOQKTCVJYAUEVBBMTHWYLSWDOJTEGABUGTOIQPUKMJMALBZXXIJLVNRVRCJZQLTKCVLULPSYFYJOIBYFANLCOXNLQYJOFQZDFRYIOEQMJGIRLFXTIVXPKQRZUQOSDTUGBTVQSXATNXMAYGNHSOWELEIATWUTKJUAPHFQUMXAYPJKNCXKDEVRTVNDVKHUQEIGIEMWBQANSYWFWZODJQTAQZKWYFSGFGEUESFSAWKELFZKHWBCFWMJSCIYKXSBXYMQEDTGDNAKKFYGZXOTLMHSHMCSHZJPSBZPWFLIJHFUEYOBJGGLXZPIIYPKBZMXFFOUANUWHGTIFKIZPEQPFUFETZYAHVXKSIFBSIHJXUJXYPKLIVXWNLNXDBIJXATRKCJPCEYICDDMVYIUIXGFXGTZZCYCFUUCMVQRKNUMCBVLKODKHXOWXPPGFNPMVBHDEGDFDFFRPKQJXDWUHUUJAIPZVYMADSLEAUSSPVFRVQZLABDREWXJMACDARFYLQGJPBOXNCDPNNJNVAJJMPQHOEYPZMRITBKCUXAKACMADODKWUGHGMZOXEKXKMZBZNQFFVMLKRNMQWLZRKWYIZVYHSACKIEUHSMIPVJZTZDYPAAMBVDGDMPHCBSXZIPDUQXRIRPRBFSZKSLTEXPYUBMKTJHUBEUVSMCPKOBUKXNDLIHXDCRJVBXQVUIDMMOTDXGJVBDRJTJRQXZBRTJDOQHEUJVLGBXPJXIUVLWGCEPCLDIMHIANMUJWJMUVTAIICIDUWMJZLAAQGELUOFRTMBPJUVEBRNLERKQEDAXVAUFSZFLZIZSAWPGQNBRDVUBAVSCKWPRFFMJNVMHRUKXLRXDXQAYBNNBJYBJWYJKZSUDXMENYZREUHQTGFPAFSSCHVPQGEMFEJTAAANSYLAJEMJXAICCUPSRDYAQPACORKDOZLFZTJVJZEEMUTDRDMAWSFQKFYNEAXLEFBFLVLRRURDPHRTYAPYMQSKFIQRQQIPHPYJNCTEPQFVXQMKARRMLFJUWVCXLGCLINCSCNUYMJMSSDPTXWNHJZYMARNWSMBESIXKFFOSAYVUNMJGUQTJLRFVMIJNCCDSGJEXYTKAXICMAIAXAPCYYDHCWBLMSBASJYZSATOOBFUIHAUBGZKDGHUNJJHNOKQSJWSLQJTDMQMPRKCOXZPQBKXSPCGDFOISXDPOHGNLZSIPZZVYOGXMKQHNWIAJNEXRZWEAANWFAJEWXYVWKICBTCWVLKMOWUPNHULNYXILIPHZQVNUYJEHLBGVFDMFNGHCQXATSAPBWZEQKKNSROWFWNYIGMDDRRBADJEZPJYGKONBWWFJVTGXWBNPRWZBKCRMSTTBIRUOILVDKALHNWBDYINQWFHOCFVFBIIUTSPOGRYRBNFFUTSOLFZPITVXCZFVRXDAXNWGQCKQSEVBHXVGTYZAVNZCEPTKIDZXHSFCZQLRUNXXZRAXQNRJOKRPRRUWBKKIQJELOGTNYIVISVVUHFJLSGBKFSOCAKZBHPXLHVSTESSQNISMGBRZFURQSPSHHMMVBAMQXNKMTIOAQDUTICTSZZVJIORVOXYCFAXJWXLLPCDMASYDIUGUJTEXRBHCPWVQVBVDEIWEBJTOTKMOHPOZJJWTOBOMRZKYACGTPMTRPCIHIZZOETYUAGVMMPYZHWTCQSXDDMYCOFUZMMLXYUPNNALAYKXEKBAKTBNZFHDKDPPUSAAHSEZKXUOVWLAUKGDQGSOJBBAYUFWTJHQUCKKQLRSAZQXDCLAJCGELGCJCKHPILUFUHNSZUBBZMXPPXVGKPZMLPREAJKYPLXMJIWDSDSLUUHUHWVWPLKNTOTAGYVFZPFRIETKHPNJFUHRTIWGINJTLTRVZJUOKGNFCEBACMJRLIFGLZERSJHFJKBJJVVXTANNRTWBWHJGPLYQIGIPJSDFVLEAURLKQGWJZATGJHJXLNVHAHUYBDLVLFDMJOLTBPVBLTVVGJLQPVMOCNUMTTADFFABWDGAVLBNBVUSVADDZRMVUMYXLNFLMHWXQUOIKXUNVGXXSJRFICDHGNNRPOADHIVQVSKNPJQGVDYLIBZFELOGFZNHSHPZKWOOBTLJOIWJKGMMDTHFJWCOPGUZTIJVPTECJXTIPMPSFYONVXXUYNBLODBWBKHEXRHUDJRENIPEEEGMWWHEQNQVLYRNFXKMYMDPMEHRKBBLRALSREVVDEIVBEOWIHRNGBFEALKHGCCLUPINRJJNJHRMLLPLFRCXVMLATRKZGKYSSZZTUUHYZJCYOGZMBGRCEEVCUCYNYZUGAXPCQIIUDPYGFAMFXATUYAXKZCTFCSXCOHVWEHHORWFWVURHHBZPZIQHXKLZFWFMSMBOAMEGBXMOHLWYRADETOJMMCDHXIQLWVVMUNEPGRVAUZKEVDONIAUZIXKVHWJMGICGXTYYHFXIWDYJEXTFTELDAQVPPCLXPFFRTKWZSLLGZHUFNWMSIJIEQEMJZUFYUNBJWTFEJMHUVQJESUMNLYKIMSTTUQKDFWTRBHVPCZWTTQQOHPSZXHPQWARAWPSMURVUOIRSCHKHQIFVKLQYLJFUVNZSKVLQSBBCXIGQPDQIHPADAHFFNYNLOUDHYXYKPXEMRYCDZOFQDARJJUXAFWLDVCCRWLECVCPAHEUQRTJLJMIJJMXHQLYTIVFMRTJDPNYNTJPPESLJWJFSVKANKFZXVRAATUYPHTATXIZFSKAQBQSFKMQINHUXDWAXOTKMQBWWIOKOTVGLZYFEOICWPBITPCWQBGTYYTMKWIRRILOQCGOPLSGVPSADTCGFYPENZUJRHJTKPBHGQJJDGQRZGXHAPFTIPZOWWIZJLMDGIMFFYGWNFZGBCMBHPXAVFCZFBZXIJKOPJRLSOKTDKBQSHXSGYPNUMVJFWZUJGFCYJFVPMUZUZPHMVWRGMBWBFTNFCMYGOANRPOOIPJPYHODMDDZTBJKQMNSLFBYPRYYEPAHAFFSRBAOYKNRDIVUNBKHHFFVQFAOTPPETBTCNJXGKQHBQYQBKBFXZDXBDMHJATIIYNEXADIDOJJHCHUFEQVKHSBEAREUBCQBSDXGPVQKKNKJWROBPDEECYIMBZGAIJSERINSYOHWHIEZUOYEDCPAUFNTYYSFOLDYHKNVOGHURZLVZEFCWFLPCZDTBEQYXXDNAJKMTNRGVJZRWVUMGXTVQKZAPKNOLUOAYEUSACDASMCRLFWIZAGTPEJMYLHDEZFCTAARZGYPEMLVOOIZDOTYTNEJEOIMWTIZXGCKOFTWKEMOJCNJDMFAQNYXHJBAVREKDSCMAXVYHOQNGRSRRKXYBMMAFGFLLPCKXUVDKSBJAQOXOGVGVYONMSUIRLOBIPXHXGKICITRONWQEGNCXFWFKMREYWZBXDCEXEXGTXGYFLOOCZKMLLQBVLQVCXOQAEVNLTGNXJGYUDEEPLQJFVTJIRGCYGEPODNJRRCHSMBRHDGJDHQYLHIEDAYBGAHOKKSBFUNZEOSLKPZNSDHLJPSJSBAIICYBADNLZGOCZVAKRKCTAVDQFKRSVIXYMKSGMQGKOCPVPXCQGMXCVOGEWCAIMZNGOIPPRMIAOMEWEIBJBJPTPOREQUNLMOIGOBTOWIEUAMDMEDFDWCAANRQUQGXMZUNJIZPLPUJTPOKECFGQNVSDHWUHJSQWMYFWFGVIFMIPIAYCUTVJVWHDCRAWSNRXPCTAJZQZIIZTAXCVPRWLQWNFBVBNGJBUXGGXLUVWGAVOFOQTCDICONHCWYGFXSDWEGSZCNVJLLXYSQVJWYUGZWRQXACFMLALSNNJGZFIBCAIORHUKYBJPCOQPKCPTOUKMOLMJCGQUJRVLTSUWJSUIILGLSGWLLQGKFJJEVVUZWLDGVLVXSZXMSKTRIJLOTONFARWKIDCQCPXXZLUOYPWOHNUSJMUTAXMFZTELHQBSXKHKPUIXTEMCMKJACOZLPLATYZXIZNMURXMVWNSPQFUCDVDRYEZMIEBZYOABCTTKLGBDSCVWWAQMUJYTXZFFFMHHKEOEORNSDGYIQPLSIEFOMXRQBGEYTCVIQARRCQUSTARLGZEVIQVQDRVMMCIWQEEBCIWKNNXCGBPAEELMPCDQFMKFKAXVAGSKDPRXSZTXXQQQTGPLFLAUBOFMUGDIOZCEVABXEKOHUOYRNBXDOHIIUDDHQHDIHVVBOITYCNFFNULBWGLNZDKHNVAXMGDGDLSQRATNBKTBIOCXBPFTQRDLQGNNWUZFOYRRYJAPMQCQBXUWUBDVLICZJXVPHOHDYQENOMJGIPAYTBDYPMNNLBXGCAOXUNMFFPEVPFKUPGERNNDOZLFVKFCIBCPBUIMHOMCVVDKBVQIOVZQKBPMXABGNJGEPIVFIEDXYFXIDODKJZCXKNHVFQHUSFMJWXFBGRPDIPSMBVEOLMZGWNQLQUQIXKSKOOXTSPFJEDBMAXHDPKEFAMASMLUJBNUKLEYIXPJEKYFTEKNFJRQDYGCHVTKCSEQTRUHPBZPWTEBGWEKXISBPUHEAFAEPLLVVUIFCLZRTUPMIAJVUVLTHOTFPMZZHEMOFWCBPBUVUIWAZOIHJBFZRDXJSACARXYBGNXKHMSKUAMKEALQWTWLMLZTQHGPNYUFKBLFBOZEWEVSSDOBPFAPYNNEXVPZOKKUGSQYFIAEQJTYNLYOBQUDLQKZFVXQAJCCBVJWMPUUARURYPUQDCQOTOPBTTLLOEDPRWEKPPLKUEMCPBGDGJQOBXCSEVPYXUVNDZKVIUZLGJXDHOYQYDDIKSDZSLTWRDKTQMDSOHUWKFJPTEQUAULYGUBLSJRAJNEHSPLGUOORIZOMBTMYJUWBNJYBHNCPDKSKVENEMEAAACQPFLCPZVNOZSASBVDMAKTXATLKVXJCMONWIOSQEVQGXFMHRMGOXBFSUVOJMSXDJBKSWJGWDFWSBQSNLCZYWNWZEIMWXBEMGSIMNAQHVFXLDNQNSWNEARIQXRHGYGNYINFFTEKMTCBOUWZAHYKFYFMNDURMGBHNCPDHUWKFJPUARURYPXYBGNXKHLQUQIXKSQHUSFMJWXGDGDLSQRAATYZXIZNMURKTRIJLOTONFOGEWCAIMZNGOIRLOBIPXHXGKICIPAUFNTYYSFOLDYHFSKAQBQSFKMQINHUXCCRWLECVCPAHEUQRTJLJKBJJVVXTANNRTWBWHJGPLYQQSEVBHXVGTYZAVNZCEPTKIDZXHWFHOCFVFBIIUTSPOGRYRBNFFUTQJTDMQMPRKCOXZPQBKXSPCGDFOIPRFFMJNVMHRUKXLRXDXQAYBNNBJYLGBXPJXIUVLWGCEPCLDIMHIANMUJWOQHEUJVLGBXPJXIUVLWGCEPCLDIMHIASZKSLTEXPYUBMKTJHUBEUVSMCPKOBUKXNDLIHXDFSZKSLTEXPYUBMKTJHUBEUVSMCPKOBUKXNDLIHXDCAYPJKNCXKDEVRTVNDVKHUQEIGIEMWBQANSYWFWZODIJLVNRVRCJZQLTKCVLULPSYFYJOIBYFANLCOXNLQYJOHBNTASPKZEODIPCLPRXSYUPLACJNFMREFPAKZNXVRGSBDMSDVWIKJBHFNVNOCISHRGRVPWUFTHLRDTSLGYHMEWMXTRNQHRNSDVWIKJBHFNVNOCISHRGRVPWUFTHLRDTSLGYHMEWMXTRNQHRNVGPHRZJYXDJEIWKFSJLGXYYJEZHKYGPCCHDCSSBETHIKPFIOPQXLGWGJPDLDYIWBMDNGTKPTBNSBDCPVJXFFZZYHMKSCQRPRXABMMPFATBMLKUMJHWUZXXZGBABOJPBAGYLJFEOEFWLUZEZHMPAOYDBDSJWGNIGRDCDJRTYRIHVYSVSMQQADMBDMJLVKOEDPDVRKSEHPOXBKXEIYTLYZGNVNORDDPGZJYALPTUTVCDLMSVVSARMDMYTPTFVZJNLBJNOYFTCJSGBWGSRBRMCBCOHBJXQBPLKRLJOVSGJXCOYHUOPSZZDBWEZINFVGWNUWARJKPAVYTCVEIDNFNGXWFSDWEZPLDNOAEALDXYJZZPRYKXQIGVNHLGRQBDYMYBGKQXPZVNBSYTQNUWARJKPAVYTCVEIDNFNGXWFSDWEZPLDNOAERXNEZMMIHRXUHIENABWZZTJMISHXCZNGBBJEVCQGFNODVDDYQGTPCCCNFTDRXNEZMMIHRXUHIENABWZZTJMISHXCZNGBBJEVCQGFNODVDDYQGTPCCCNFTUKFUPQTQHXOIGJUTFWHLRAIZQCEUZDGRJQQLVDAPSVUCADRSWYAZUYEMPIUIIWJMBGHVWSNLFCFSJMXICSZRPFUQMFFDXZEDMEQVJMBPZQNSBYIZUWUQCWPCRAUYVIWJMBGHVWSNLFCFSJMXICSZRPFUQMFFDXZEDMEQVJMBPZQNSBYIZUWUQCWPCRAURCHYAIFKTGNOQVJXHPBQRNLMUOGMWYUTUQQCELTWULVIWJMBGHVWSNLFCFSJMXICSZRPFUQMFFBWLPUDTGGVSYYOFAKQDJINWKBAYGBKDKRVTXMTVKEYMUFKYOSHAITIDRHTOKNOJQQGZFTLLVYUNPHOWVEMIAKBWFVESZNWPHSHGXQBTSAEGBRXMFBTTUAXCIBPISWQKSLZCPOLQKPSLVHENGNLDMNGYZKXPCTSUYFBSWNKJQTCWJKNRMLHUTFBRPHOWVEMIAKBWFVESZNWPHSHGXQBTSAEGBRXMFBTTUAXCIBPSNGYVBWHMCGADBALGZBKGTSOQGSOSGACPXNNGRXFAZPLMBNNAFOOPMGICEPPFMGBQYNVQHLXBGHODWPHTWAWXOCNFSOIIOFCFIEIDODTDJGFMCYBPZRBXMNSXAIVBQYOWOLUXSDXZGVJTRZIWZXQIOEBAWVPSAWPZNARJQLQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMIHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMIBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMISGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMISHGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMISGDHGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXYNUISYONOEKXPDDKUFRMDKHIHTAHPJOWMISGBGVPFHATKCBVEZQNLIJUQUARLFCGVRXIXZSHHQHDHGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAOVWHQFXBFLTSFLYWJGVPFHATKCBVEZQNLIJUQUARLFCGVRXIXZSHHQHDHGBHQYQPLTNOKEZYGASUNTPKYXOTUNZMAGBUDKXIIAVLKJJLAVTNNGLUKHQWSMQWVIEGQMYRSBDOCQSUVWWDYBARBOAPQNRNEPGDASZWTHFPEJKXKRMIRDSLASFPLPJYEJYREHMZCBZDNKRJFWHJAEFAXXFZRFFYWLKBUSUPWYESFIOLVITJEWFFKLTQUJCPDOBPLKBGLRGESJKSYMDRODNIRJMLUWVGEBVFLKJAZMAVSVVVVTFJDARCGVTNNGUBJMGXTJLAXXFZRFFYWLKBUSUPWYESFIOLVITJEWFFKLTQUJCPDOBPLKBGLRGESJKSYMDRODNIRJMLUWVGEBVFLKJAZMAVSVVVVTFJDARCGVNPQVIKSKFASRJPAUFNWZTDIDBXTUSEJHYYRLPFVYLUEOWAWVTJYHXPPDEDUCUIEUROMPFXCAHYLAKPIXHJBINAMIYAFYZNJBWMTVEHDZCTQZBHGXSJNPQVIKSKFASRJPAUFNWZTDIDBXTUSEJHYYRLPFVYLUEOWAWVTJYHXPPDEDUCUIEUROMPFXCAHYLAKPIXHJBINAMIYAFYZNJBWMTVEHDZCUBHGXSJNPQVIKSKFASRJPAUFNWZTDIDBXTUSEJHYYRLPFVYLUEOWAWVTJYHXPPDEDUCUIEUROMPFXCAHYLAKPIXHJBINAMIYAFYZNJBWMTVEHDZCTMHUKJXTFLDSABAYZNGRLGAFGFUBHGXSJNPQVIKSKFASRJPAUFNWZTDIDBXTUSEJHYYRLPFVYLUEOWAWVTJYHXPPDEDUCUIEUROMPFXCAHYLAKPIXHJBICTZORWDALOJJNJZYJWUEPHZOVEGRAFHBCRETBBBAKQUTIJNDCIBGNTZOXPGLVBNWSWWMLGOVKOQUXFAXZAQMPPKDSLQBUATEXZRAOSDGOPNVFSPLSNKIWUOZAARAZQXSQSWQEMKBDZPJLRRQPBRKJUJEICHUZOQUOGYWGUATEKLZAZIAQVWNHYHMXVZDYACNLBIHHETCMNNTCTPRIFYKHNFHGVPFWRYFLKHFGPEDNZZNDYTHHHAZQUQPKQQEJZDJOAPXOSMCBQMLGPUSNTWZOLTGHCBHVFMHHWMOIEWINCVJUCWMGOAPWLNFNOCDJRHJIWCMXOWKPLCATJMBKONEUJXGRSKQWTQWDUMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLITMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHEYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHEFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHERFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGKZPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGKZFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGKVFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGKVODWEVFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHEQVODWEVFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGQVODWEVFPRFYQIRTMOYRDCMLVOGPGMYJERFQBGYNZTLAYSFNQSOQKSDHDUAYBIOGVLRNCYUFQOBUXGIZNKJQSMTUHMUOCOOASMHJXDSCYCBXUZGRTPKJJCSCCKEYKDOYORJMDOSNWTJVWUJKSYBQWLIMNVUIYDHHECPGCVVHYZCXFVDALNLZOARGOCWBFVUQKKSLEMJRKQIHULBCYTZQNRVSLSTQHZAZTZZRTBVXTTHBZJAXCGRVSCRJSEEOJQXFAEAJECDWVEHTBYEIQNMLILIEAAHWBXHQXEDOJKYNBBMTWQDMLFKRQRPACBSRLULLNLMKETFZJEBWTXZDHVDXJMMNIYAQYXEPJVDKPKQBSMWLATYCUWYSYOJZHUDSXTCSHTRACDQOQSNCYLMXJBYBBWKSNHYAYVRLCWFGAZSEVBIUJETIVGHEBDPXLVFWWTCKOUCOAOPMUIRPYZCULRWRCTZLCGMGREFOGJMULHHHQQIAOXVOKLCVAXDEGHSEUYZHPTFECVAJSFUSFMCGQLMASXUPQYQSNYRSDZVWZUXCDNVVPGAUQRGCQFSQSDEBWTXZDHVDXJMMNIYAQYXEPJVDKPKQBSMWLATYCUWYSYOJZHUDSXTCSHTRACDQOQSNCYLMXJBYBBWKSNHYAYVRLCWFGCQJCQLPHFANJTGZXOJRGGMYHXKQVCLBAAKUPWGUWGXEAHQBGJRKABJEUQUKOUABOVZDUKHRRXSBCRCHDFDUXCRZCYCHAZCEGPJFUATVHUHTAFLKSHRYVNYBVXUFUFYXIVGRBRUWPZZRGGNAURWMPKFLCJUGYBJHHTJHCNZQVDVLMJCQJCQLPHFANJTGZXOJRGGMYHXKQVCLBAAKUPWGUWGXEAHQBGJRKABJEUQUKOUABOVZDUKHRRXSBCRCHDFDUXCRZCYCHAZCEGPJFUATVHUHTAFLKSHRYVNYBVXUFUFYXIVGRBRUWPZZRGGNAURWMPKFLCJUGYBJHHTJHCNZQVDVLMENSPFDIYBMWOBOSWHFITNIUEVEGGXDZYRAIRWTHSECVCCZETCBXGFWSJPHFLCTUNESIKYZKJCTZFOMBMWYHTTXRZKSTVNHJCQJCQLPHFANJTGZXOJRGGMYHXKQVCLBAAKUPWGUWGXEAHQBGJRKABJEUQUKOUABOVZDUKHRRXSBCRCHDFDUXCRZCLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBRCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTUTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTOUTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTKOUTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTKLHVKOUTZAAXHUGBMWURCDKHFEEBLRVDUFOARAOFKXFESYNYRKSMLBUQYTCJSLHIHGMPTXAPLTINHRQXRLOSXQDEFLZEVHHSAGQBRNBPJEQVCKVOTUBGGOIRCWEEYQGCIPXJDFRZUPUTVXGMPSCOVBPUFYVPTEYXTRUHXARDSYTZTGDIHALCQZAIWRPDAYGNZDKMTIFEJHQTEMIYVARZJRWUDDXKMGUUQBWHZNWCJFCQTTKLHFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQUKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQIAUKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQIADAUKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQIIDAUKNXWFYRPHKDPWHACQGQFLCDTXXZKYDGDDPOBSWEMPAAVFCEXQJDCBOZIRSOWELVYEKWNGRMNGMOPFVVLVIOYDJJMWJGMZCMNGRPMLMNJLPZKFRVYSTRPQOPBKREYFDCIQJLQANHNOIUMHAJAEHAVGSMDSJRNGVPTRTFHWNXPZDOOLHYYMGALWNVZYKHPGFEZNGDGFUIEUNYQKEAICMFOYYLDRJQXCKQUILBITRHCUSQMCNSDDCLMYRQIAOM diff --git a/neozip/test/CVE-2018-25032/fixed.txt b/neozip/test/CVE-2018-25032/fixed.txt new file mode 100644 index 0000000000..5ccca248c5 --- /dev/null +++ b/neozip/test/CVE-2018-25032/fixed.txt @@ -0,0 +1 @@ +AAABAACAADAAEAAFAAGAAHAAIAAJAAKAALAAMAANAAOAAPAAQAARAASAATAAUAAVAAWAAXAAYAAZABBABCABDABEABFABGABHABIABJABKABLABMABNABOABPABQABRABSABTABUABVABWABXABYABZACBACCACDACEACFACGACHACIACJACKACLACMACNACOACPACQACRACSACTACUACVACWACXACYACZADBADCADDADEADFADGADHADIADJADKADLADMADNADOADPADQADRADSADTADUADVADWADXADYADZAEBAECAEDAEEAEFAEGAEHAEIAEJAEKAELAEMAENAEOAEPAEQAERAESAETAEUAEVAEWAEXAEYAEZAFBAFCAFDAFEAFFAFGAFHAFIAFJAFKAFLAFMAFNAFOAFPAFQAFRAFSAFTAFUAFVAFWAFXAFYAFZAGBAGCAGDAGEAGFAGGAGHAGIAGJAGKAGLAGMAGNAGOAGPAGQAGRAGSAGTAGUAGVAGWAGXAGYAGZAHBAHCAHDAHEAHFAHGAHHAHIAHJAHKAHLAHMAHNAHOAHPAHQAHRAHSAHTAHUAHVAHWAHXAHYAHZAIBAICAIDAIEAIFAIGAIHAIIAIJAIKAILAIMAINAIOAIPAIQAIRAISAITAIUAIVAIWAIXAIYAIZAJBAJCAJDAJEAJFAJGAJHAJIAJJAJKAJLAJMAJNAJOAJPAJQAJRAJSAJTAJUAJVAJWAJXAJYAJZAKBAKCAKDAKEAKFAKGAKHAKIAKJAKKAKLAKMAKNAKOAKPAKQAKRAKSAKTAKUAKVAKWAKXAKYAKZALBALCALDALEALFALGALHALIALJALKALLALMALNALOALPALQALRALSALTALUALVALWALXALYALZAMBAMCAMDAMEAMFAMGAMHAMIAMJAMKAMLAMMAMNAMOAMPAMQAMRAMSAMTAMUAMVAMWAMXAMYAMZANBANCANDANEANFANGANHANIANJANKANLANMANNANOANPANQANRANSANTANUANVANWANXANYANZAOBAOCAODAOEAOFAOGAOHAOIAOJAOKAOLAOMAONAOOAOPAOQAORAOSAOTAOUAOVAOWAOXAOYAOZAPBAPCAPDAPEAPFAPGAPHAPIAPJAPKAPLAPMAPNAPOAPPAPQAPRAPSAPTAPUAPVAPWAPXAPYAPZAQBAQCAQDAQEAQFAQGAQHAQIAQJAQKAQLAQMAQNAQOAQPAQQAQRAQSAQTAQUAQVAQWAQXAQYAQZARBARCARDAREARFARGARHARIARJARKARLARMARNAROARPARQARRARSARTARUARVARWARXARYARZASBASCASDASEASFASGASHASIASJASKASLASMASNASOASPASQASRASSASTASUASVASWASXASYASZATBATCATDATEATFATGATHATIATJATKATLATMATNATOATPATQATRATSATTATUATVATWATXATYATZAUBAUCAUDAUEAUFAUGAUHAUIAUJAUKAULAUMAUNAUOAUPAUQAURAUSAUTAUUAUVAUWAUXAUYAUZAVBAVCAVDAVEAVFAVGAVHAVIAVJAVKAVLAVMAVNAVOAVPAVQAVRAVSAVTAVUAVVAVWAVXAVYAVZAWBAWCAWDAWEAWFAWGAWHAWIAWJAWKAWLAWMAWNAWOAWPAWQAWRAWSAWTAWUAWVAWWAWXAWYAWZAXBAXCAXDAXEAXFAXGAXHAXIAXJAXKAXLAXMAXNAXOAXPAXQAXRAXSAXTAXUAXVAXWAXXAXYAXZAYBAYCAYDAYEAYFAYGAYHAYIAYJAYKAYLAYMAYNAYOAYPAYQAYRAYSAYTAYUAYVAYWAYXAYYAYZAZBAZCAZDAZEAZFAZGAZHAZIAZJAZKAZLAZMAZNAZOAZPAZQAZRAZSAZTAZUAZVAZWAZXAZYAZZBBBCBBDBBEBBFBBGBBHBBIBBJBBKBBLBBMBBNBBOBBPBBQBBRBBSBBTBBUBBVBBWBBXBBYBBZBCCBCDBCEBCFBCGBCHBCIBCJBCKBCLBCMBCNBCOBCPBCQBCRBCSBCTBCUBCVBCWBCXBCYBCZBDCBDDBDEBDFBDGBDHBDIBDJBDKBDLBDMBDNBDOBDPBDQBDRBDSBDTBDUBDVBDWBDXBDYBDZBECBEDBEEBEFBEGBEHBEIBEJBEKBELBEMBENBEOBEPBEQBERBESBETBEUBEVBEWBEXBEYBEZBFCBFDBFEBFFBFGBFHBFIBFJBFKBFLBFMBFNBFOBFPBFQBFRBFSBFTBFUBFVBFWBFXBFYBFZBGCBGDBGEBGFBGGBGHBGIBGJBGKBGLBGMBGNBGOBGPBGQBGRBGSBGTBGUBGVBGWBGXBGYBGZBHCBHDBHEBHFBHGBHHBHIBHJBHKBHLBHMBHNBHOBHPBHQBHRBHSBHTBHUBHVBHWBHXBHYBHZBICBIDBIEBIFBIGBIHBIIBIJBIKBILBIMBINBIOBIPBIQBIRBISBITBIUBIVBIWBIXBIYBIZBJCBJDBJEBJFBJGBJHBJIBJJBJKBJLBJMBJNBJOBJPBJQBJRBJSBJTBJUBJVBJWBJXBJYBJZBKCBKDBKEBKFBKGBKHBKIBKJBKKBKLBKMBKNBKOBKPBKQBKRBKSBKTBKUBKVBKWBKXBKYBKZBLCBLDBLEBLFBLGBLHBLIBLJBLKBLLBLMBLNBLOBLPBLQBLRBLSBLTBLUBLVBLWBLXBLYBLZBMCBMDBMEBMFBMGBMHBMIBMJBMKBMLBMMBMNBMOBMPBMQBMRBMSBMTBMUBMVBMWBMXBMYBMZBNCBNDBNEBNFBNGBNHBNIBNJBNKBNLBNMBNNBNOBNPBNQBNRBNSBNTBNUBNVBNWBNXBNYBNZBOCBODBOEBOFBOGBOHBOIBOJBOKBOLBOMBONBOOBOPBOQBORBOSBOTBOUBOVBOWBOXBOYBOZBPCBPDBPEBPFBPGBPHBPIBPJBPKBPLBPMBPNBPOBPPBPQBPRBPSBPTBPUBPVBPWBPXBPYBPZBQCBQDBQEBQFBQGBQHBQIBQJBQKBQLBQMBQNBQOBQPBQQBQRBQSBQTBQUBQVBQWBQXBQYBQZBRCBRDBREBRFBRGBRHBRIBRJBRKBRLBRMBRNBROBRPBRQBRRBRSBRTBRUBRVBRWBRXBRYBRZBSCBSDBSEBSFBSGBSHBSIBSJBSKBSLBSMBSNBSOBSPBSQBSRBSSBSTBSUBSVBSWBSXBSYBSZBTCBTDBTEBTFBTGBTHBTIBTJBTKBTLBTMBTNBTOBTPBTQBTRBTSBTTBTUBTVBTWBTXBTYBTZBUCBUDBUEBUFBUGBUHBUIBUJBUKBULBUMBUNBUOBUPBUQBURBUSBUTBUUBUVBUWBUXBUYBUZBVCBVDBVEBVFBVGBVHBVIBVJBVKBVLBVMBVNBVOBVPBVQBVRBVSBVTBVUBVVBVWBVXBVYBVZBWCBWDBWEBWFBWGBWHBWIBWJBWKBWLBWMBWNBWOBWPBWQBWRBWSBWTBWUBWVBWWBWXBWYBWZBXCBXDBXEBXFBXGBXHBXIBXJBXKBXLBXMBXNBXOBXPBXQBXRBXSBXTBXUBXVBXWBXXBXYBXZBYCBYDBYEBYFBYGBYHBYIBYJBYKBYLBYMBYNBYOBYPBYQBYRBYSBYTBYUBYVBYWBYXBYYBYZBZCBZDBZEBZFBZGBZHBZIBZJBZKBZLBZMBZNBZOBZPBZQBZRBZSBZTBZUBZVBZWBZXBZYBZZCCCDCCECCFCCGCCHCCICCJCCKCCLCCMCCNCCOCCPCCQCCRCCSCCTCCUCCVCCWCCXCCYCCZCDDCDECDFCDGCDHCDICDJCDKCDLCDMCDNCDOCDPCDQCDRCDSCDTCDUCDVCDWCDXCDYCDZCEDCEECEFCEGCEHCEICEJCEKCELCEMCENCEOCEPCEQCERCESCETCEUCEVCEWCEXCEYCEZCFDCFECFFCFGCFHCFICFJCFKCFLCFMCFNCFOCFPCFQCFRCFSCFTCFUCFVCFWCFXCFYCFZCGDCGECGFCGGCGHCGICGJCGKCGLCGMCGNCGOCGPCGQCGRCGSCGTCGUCGVCGWCGXCGYCGZCHDCHECHFCHGCHHCHICHJCHKCHLCHMCHNCHOCHPCHQCHRCHSCHTCHUCHVCHWCHXCHYCHZCIDCIECIFCIGCIHCIICIJCIKCILCIMCINCIOCIPCIQCIRCISCITCIUCIVCIWCIXCIYCIZCJDCJECJFCJGCJHCJICJJCJKCJLCJMCJNCJOCJPCJQCJRCJSCJTCJUCJVCJWCJXCJYCJZCKDCKECKFCKGCKHCKICKJCKKCKLCKMCKNCKOCKPCKQCKRCKSCKTCKUCKVCKWCKXCKYCKZCLDCLECLFCLGCLHCLICLJCLKCLLCLMCLNCLOCLPCLQCLRCLSCLTCLUCLVCLWCLXCLYCLZCMDCMECMFCMGCMHCMICMJCMKCMLCMMCMNCMOCMPCMQCMRCMSCMTCMUCMVCMWCMXCMYCMZCNDCNECNFCNGCNHCNICNJCNKCNLCNMCNNCNOCNPCNQCNRCNSCNTCNUCNVCNWCNXCNYCNZCODCOECOFCOGCOHCOICOJCOKCOLCOMCONCOOCOPCOQCORCOSCOTCOUCOVCOWCOXCOYCOZCPDCPECPFCPGCPHCPICPJCPKCPLCPMCPNCPOCPPCPQCPRCPSCPTCPUCPVCPWCPXCPYCPZCQDCQECQFCQGCQHCQICQJCQKCQLCQMCQNCQOCQPCQQCQRCQSCQTCQUCQVCQWCQXCQYCQZCRDCRECRFCRGCRHCRICRJCRKCRLCRMCRNCROCRPCRQCRRCRSCRTCRUCRVCRWCRXCRYCRZCSDCSECSFCSGCSHCSICSJCSKCSLCSMCSNCSOCSPCSQCSRCSSCSTCSUCSVCSWCSXCSYCSZCTDCTECTFCTGCTHCTICTJCTKCTLCTMCTNCTOCTPCTQCTRCTSCTTCTUCTVCTWCTXCTYCTZCUDCUECUFCUGCUHCUICUJCUKCULCUMCUNCUOCUPCUQCURCUSCUTCUUCUVCUWCUXCUYCUZCVDCVECVFCVGCVHCVICVJCVKCVLCVMCVNCVOCVPCVQCVRCVSCVTCVUCVVCVWCVXCVYCVZCWDCWECWFCWGCWHCWICWJCWKCWLCWMCWNCWOCWPCWQCWRCWSCWTCWUCWVCWWCWXCWYCWZCXDCXECXFCXGCXHCXICXJCXKCXLCXMCXNCXOCXPCXQCXRCXSCXTCXUCXVCXWCXXCXYCXZCYDCYECYFCYGCYHCYICYJCYKCYLCYMCYNCYOCYPCYQCYRCYSCYTCYUCYVCYWCYXCYYCYZCZDCZECZFCZGCZHCZICZJCZKCZLCZMCZNCZOCZPCZQCZRCZSCZTCZUCZVCZWCZXCZYCZZDDDEDDFDDGDDHDDIDDJDDKDDLDDMDDNDDODDPDDQDDRDDSDDTDDUDDVDDWDDXDDYDDZDEEDEFDEGDEHDEIDEJDEKDELDEMDENDEODEPDEQDERDESDETDEUDEVDEWDEXDEYDEZDFEDFFDFGDFHDFIDFJDFKDFLDFMDFNDFODFPDFQDFRDFSDFTDFUDFVDFWDFXDFYDFZDGEDGFDGGDGHDGIDGJDGKDGLDGMDGNDGODGPDGQDGRDGSDGTDGUDGVDGWDGXDGYDGZDHEDHFDHGDHHDHIDHJDHKDHLDHMDHNDHODHPDHQDHRDHSDHTDHUDHVDHWDHXDHYDHZDIEDIFDIGDIHDIIDIJDIKDILDIMDINDIODIPDIQDIRDISDITDIUDIVDIWDIXDIYDIZDJEDJFDJGDJHDJIDJJDJKDJLDJMDJNDJODJPDJQDJRDJSDJTDJUDJVDJWDJXDJYDJZDKEDKFDKGDKHDKIDKJDKKDKLDKMDKNDKODKPDKQDKRDKSDKTDKUDKVDKWDKXDKYDKZDLEDLFDLGDLHDLIDLJDLKDLLDLMDLNDLODLPDLQDLRDLSDLTDLUDLVDLWDLXDLYDLZDMEDMFDMGDMHDMIDMJDMKDMLDMMDMNDMODMPDMQDMRDMSDMTDMUDMVDMWDMXDMYDMZDNEDNFDNGDNHDNIDNJDNKDNLDNMDNNDNODNPDNQDNRDNSDNTDNUDNVDNWDNXDNYDNZDOEDOFDOGDOHDOIDOJDOKDOLDOMDONDOODOPDOQDORDOSDOTDOUDOVDOWDOXDOYDOZDPEDPFDPGDPHDPIDPJDPKDPLDPMDPNDPODPPDPQDPRDPSDPTDPUDPVDPWDPXDPYDPZDQEDQFDQGDQHDQIDQJDQKDQLDQMDQNDQODQPDQQDQRDQSDQTDQUDQVDQWDQXDQYDQZDREDRFDRGDRHDRIDRJDRKDRLDRMDRNDRODRPDRQDRRDRSDRTDRUDRVDRWDRXDRYDRZDSEDSFDSGDSHDSIDSJDSKDSLDSMDSNDSODSPDSQDSRDSSDSTDSUDSVDSWDSXDSYDSZDTEDTFDTGDTHDTIDTJDTKDTLDTMDTNDTODTPDTQDTRDTSDTTDTUDTVDTWDTXDTYDTZDUEDUFDUGDUHDUIDUJDUKDULDUMDUNDUODUPDUQDURDUSDUTDUUDUVDUWDUXDUYDUZDVEDVFDVGDVHDVIDVJDVKDVLDVMDVNDVODVPDVQDVRDVSDVTDVUDVVDVWDVXDVYDVZDWEDWFDWGDWHDWIDWJDWKDWLDWMDWNDWODWPDWQDWRDWSDWTDWUDWVDWWDWXDWYDWZDXEDXFDXGDXHDXIDXJDXKDXLDXMDXNDXODXPDXQDXRDXSDXTDXUDXVDXWDXXDXYDXZDYEDYFDYGDYHDYIDYJDYKDYLDYMDYNDYODYPDYQDYRDYSDYTDYUDYVDYWDYXDYYDYZDZEDZFDZGDZHDZIDZJDZKDZLDZMDZNDZODZPDZQDZRDZSDZTDZUDZVDZWDZXDZYDZZEEEFEEGEEHEEIEEJEEKEELEEMEENEEOEEPEEQEEREESEETEEUEEVEEWEEXEEYEEZEFFEFGEFHEFIEFJEFKEFLEFMEFNEFOEFPEFQEFREFSEFTEFUEFVEFWEFXEFYEFZEGFEGGEGHEGIEGJEGKEGLEGMEGNEGOEGPEGQEGREGSEGTEGUEGVEGWEGXEGYEGZEHFEHGEHHEHIEHJEHKEHLEHMEHNEHOEHPEHQEHREHSEHTEHUEHVEHWEHXEHYEHZEIFEIGEIHEIIEIJEIKEILEIMEINEIOEIPEIQEIREISEITEIUEIVEIWEIXEIYEIZEJFEJGEJHEJIEJJEJKEJLEJMEJNEJOEJPEJQEJREJSEJTEJUEJVEJWEJXEJYEJZEKFEKGEKHEKIEKJEKKEKLEKMEKNEKOEKPEKQEKREKSEKTEKUEKVEKWEKXEKYEKZELFELGELHELIELJELKELLELMELNELOELPELQELRELSELTELUELVELWELXELYELZEMFEMGEMHEMIEMJEMKEMLEMMEMNEMOEMPEMQEMREMSEMTEMUEMVEMWEMXEMYEMZENFENGENHENIENJENKENLENMENNENOENPENQENRENSENTENUENVENWENXENYENZEOFEOGEOHEOIEOJEOKEOLEOMEONEOOEOPEOQEOREOSEOTEOUEOVEOWEOXEOYEOZEPFEPGEPHEPIEPJEPKEPLEPMEPNEPOEPPEPQEPREPSEPTEPUEPVEPWEPXEPYEPZEQFEQGEQHEQIEQJEQKEQLEQMEQNEQOEQPEQQEQREQSEQTEQUEQVEQWEQXEQYEQZERFERGERHERIERJERKERLERMERNEROERPERQERRERSERTERUERVERWERXERYERZESFESGESHESIESJESKESLESMESNESOESPESQESRESSESTESUESVESWESXESYESZETFETGETHETIETJETKETLETMETNETOETPETQETRETSETTETUETVETWETXETYETZEUFEUGEUHEUIEUJEUKEULEUMEUNEUOEUPEUQEUREUSEUTEUUEUVEUWEUXEUYEUZEVFEVGEVHEVIEVJEVKEVLEVMEVNEVOEVPEVQEVREVSEVTEVUEVVEVWEVXEVYEVZEWFEWGEWHEWIEWJEWKEWLEWMEWNEWOEWPEWQEWREWSEWTEWUEWVEWWEWXEWYEWZEXFEXGEXHEXIEXJEXKEXLEXMEXNEXOEXPEXQEXREXSEXTEXUEXVEXWEXXEXYEXZEYFEYGEYHEYIEYJEYKEYLEYMEYNEYOEYPEYQEYREYSEYTEYUEYVEYWEYXEYYEYZEZFEZGEZHEZIEZJEZKEZLEZMEZNEZOEZPEZQEZREZSEZTEZUEZVEZWEZXEZYEZZFFFGFFHFFIFFJFFKFFLFFMFFNFFOFFPFFQFFRFFSFFTFFUFFVFFWFFXFFYFFZFGGFGHFGIFGJFGKFGLFGMFGNFGOFGPFGQFGRFGSFGTFGUFGVFGWFGXFGYFGZFHGFHHFHIFHJFHKFHLFHMFHNFHOFHPFHQFHRFHSFHTFHUFHVFHWFHXFHYFHZFIGFIHFIIFIJFIKFILFIMFINFIOFIPFIQFIRFISFITFIUFIVFIWFIXFIYFIZFJGFJHFJIFJJFJKFJLFJMFJNFJOFJPFJQFJRFJSFJTFJUFJVFJWFJXFJYFJZFKGFKHFKIFKJFKKFKLFKMFKNFKOFKPFKQFKRFKSFKTFKUFKVFKWFKXFKYFKZFLGFLHFLIFLJFLKFLLFLMFLNFLOFLPFLQFLRFLSFLTFLUFLVFLWFLXFLYFLZFMGFMHFMIFMJFMKFMLFMMFMNFMOFMPFMQFMRFMSFMTFMUFMVFMWFMXFMYFMZFNGFNHFNIFNJFNKFNLFNMFNNFNOFNPFNQFNRFNSFNTFNUFNVFNWFNXFNYFNZFOGFOHFOIFOJFOKFOLFOMFONFOOFOPFOQFORFOSFOTFOUFOVFOWFOXFOYFOZFPGFPHFPIFPJFPKFPLFPMFPNFPOFPPFPQFPRFPSFPTFPUFPVFPWFPXFPYFPZFQGFQHFQIFQJFQKFQLFQMFQNFQOFQPFQQFQRFQSFQTFQUFQVFQWFQXFQYFQZFRGFRHFRIFRJFRKFRLFRMFRNFROFRPFRQFRRFRSFRTFRUFRVFRWFRXFRYFRZFSGFSHFSIFSJFSKFSLFSMFSNFSOFSPFSQFSRFSSFSTFSUFSVFSWFSXFSYFSZFTGFTHFTIFTJFTKFTLFTMFTNFTOFTPFTQFTRFTSFTTFTUFTVFTWFTXFTYFTZFUGFUHFUIFUJFUKFULFUMFUNFUOFUPFUQFURFUSFUTFUUFUVFUWFUXFUYFUZFVGFVHFVIFVJFVKFVLFVMFVNFVOFVPFVQFVRFVSFVTFVUFVVFVWFVXFVYFVZFWGFWHFWIFWJFWKFWLFWMFWNFWOFWPFWQFWRFWSFWTFWUFWVFWWFWXFWYFWZFXGFXHFXIFXJFXKFXLFXMFXNFXOFXPFXQFXRFXSFXTFXUFXVFXWFXXFXYFXZFYGFYHFYIFYJFYKFYLFYMFYNFYOFYPFYQFYRFYSFYTFYUFYVFYWFYXFYYFYZFZGFZHFZIFZJFZKFZLFZMFZNFZOFZPFZQFZRFZSFZTFZUFZVFZWFZXFZYFZZGGGHGGIGGJGGKGGLGGMGGNGGOGGPGGQGGRGGSGGTGGUGGVGGWGGXGGYGGZGHHGHIGHJGHKGHLGHMGHNGHOGHPGHQGHRGHSGHTGHUGHVGHWGHXGHYGHZGIHGIIGIJGIKGILGIMGINGIOGIPGIQGIRGISGITGIUGIVGIWGIXGIYGIZGJHGJIGJJGJKGJLGJMGJNGJOGJPGJQGJRGJSGJTGJUGJVGJWGJXGJYGJZGKHGKIGKJGKKGKLGKMGKNGKOGKPGKQGKRGKSGKTGKUGKVGKWGKXGKYGKZGLHGLIGLJGLKGLLGLMGLNGLOGLPGLQGLRGLSGLTGLUGLVGLWGLXGLYGLZGMHGMIGMJGMKGMLGMMGMNGMOGMPGMQGMRGMSGMTGMUGMVGMWGMXGMYGMZGNHGNIGNJGNKGNLGNMGNNGNOGNPGNQGNRGNSGNTGNUGNVGNWGNXGNYGNZGOHGOIGOJGOKGOLGOMGONGOOGOPGOQGORGOSGOTGOUGOVGOWGOXGOYGOZGPHGPIGPJGPKGPLGPMGPNGPOGPPGPQGPRGPSGPTGPUGPVGPWGPXGPYGPZGQHGQIGQJGQKGQLGQMGQNGQOGQPGQQGQRGQSGQTGQUGQVGQWGQXGQYGQZGRHGRIGRJGRKGRLGRMGRNGROGRPGRQGRRGRSGRTGRUGRVGRWGRXGRYGRZGSHGSIGSJGSKGSLGSMGSNGSOGSPGSQGSRGSSGSTGSUGSVGSWGSXGSYGSZGTHGTIGTJGTKGTLGTMGTNGTOGTPGTQGTRGTSGTTGTUGTVGTWGTXGTYGTZGUHGUIGUJGUKGULGUMGUNGUOGUPGUQGURGUSGUTGUUGUVGUWGUXGUYGUZGVHGVIGVJGVKGVLGVMGVNGVOGVPGVQGVRGVSGVTGVUGVVGVWGVXGVYGVZGWHGWIGWJGWKGWLGWMGWNGWOGWPGWQGWRGWSGWTGWUGWVGWWGWXGWYGWZGXHGXIGXJGXKGXLGXMGXNGXOGXPGXQGXRGXSGXTGXUGXVGXWGXXGXYGXZGYHGYIGYJGYKGYLGYMGYNGYOGYPGYQGYRGYSGYTGYUGYVGYWGYXGYYGYZGZHGZIGZJGZKGZLGZMGZNGZOGZPGZQGZRGZSGZTGZUGZVGZWGZXGZYGZZHHHIHHJHHKHHLHHMHHNHHOHHPHHQHHRHHSHHTHHUHHVHHWHHXHHYHHZHIIHIJHIKHILHIMHINHIOHIPHIQHIRHISHITHIUHIVHIWHIXHIYHIZHJIHJJHJKHJLHJMHJNHJOHJPHJQHJRHJSHJTHJUHJVHJWHJXHJYHJZHKIHKJHKKHKLHKMHKNHKOHKPHKQHKRHKSHKTHKUHKVHKWHKXHKYHKZHLIHLJHLKHLLHLMHLNHLOHLPHLQHLRHLSHLTHLUHLVHLWHLXHLYHLZHMIHMJHMKHMLHMMHMNHMOHMPHMQHMRHMSHMTHMUHMVHMWHMXHMYHMZHNIHNJHNKHNLHNMHNNHNOHNPHNQHNRHNSHNTHNUHNVHNWHNXHNYHNZHOIHOJHOKHOLHOMHONHOOHOPHOQHORHOSHOTHOUHOVHOWHOXHOYHOZHPIHPJHPKHPLHPMHPNHPOHPPHPQHPRHPSHPTHPUHPVHPWHPXHPYHPZHQIHQJHQKHQLHQMHQNHQOHQPHQQHQRHQSHQTHQUHQVHQWHQXHQYHQZHRIHRJHRKHRLHRMHRNHROHRPHRQHRRHRSHRTHRUHRVHRWHRXHRYHRZHSIHSJHSKHSLHSMHSNHSOHSPHSQHSRHSSHSTHSUHSVHSWHSXHSYHSZHTIHTJHTKHTLHTMHTNHTOHTPHTQHTRHTSHTTHTUHTVHTWHTXHTYHTZHUIHUJHUKHULHUMHUNHUOHUPHUQHURHUSHUTHUUHUVHUWHUXHUYHUZHVIHVJHVKHVLHVMHVNHVOHVPHVQHVRHVSHVTHVUHVVHVWHVXHVYHVZHWIHWJHWKHWLHWMHWNHWOHWPHWQHWRHWSHWTHWUHWVHWWHWXHWYHWZHXIHXJHXKHXLHXMHXNHXOHXPHXQHXRHXSHXTHXUHXVHXWHXXHXYHXZHYIHYJHYKHYLHYMHYNHYOHYPHYQHYRHYSHYTHYUHYVHYWHYXHYYHYZHZIHZJHZKHZLHZMHZNHZOHZPHZQHZRHZSHZTHZUHZVHZWHZXHZYHZZIIIJIIKIILIIMIINIIOIIPIIQIIRIISIITIIUIIVIIWIIXIIYIIZIJJIJKIJLIJMIJNIJOIJPIJQIJRIJSIJTIJUIJVIJWIJXIJYIJZIKJIKKIKLIKMIKNIKOIKPIKQIKRIKSIKTIKUIKVIKWIKXIKYIKZILJILKILLILMILNILOILPILQILRILSILTILUILVILWILXILYILZIMJIMKIMLIMMIMNIMOIMPIMQIMRIMSIMTIMUIMVIMWIMXIMYIMZINJINKINLINMINNINOINPINQINRINSINTINUINVINWINXINYINZIOJIOKIOLIOMIONIOOIOPIOQIORIOSIOTIOUIOVIOWIOXIOYIOZIPJIPKIPLIPMIPNIPOIPPIPQIPRIPSIPTIPUIPVIPWIPXIPYIPZIQJIQKIQLIQMIQNIQOIQPIQQIQRIQSIQTIQUIQVIQWIQXIQYIQZIRJIRKIRLIRMIRNIROIRPIRQIRRIRSIRTIRUIRVIRWIRXIRYIRZISJISKISLISMISNISOISPISQISRISSISTISUISVISWISXISYISZITJITKITLITMITNITOITPITQITRITSITTITUITVITWITXITYITZIUJIUKIULIUMIUNIUOIUPIUQIURIUSIUTIUUIUVIUWIUXIUYIUZIVJIVKIVLIVMIVNIVOIVPIVQIVRIVSIVTIVUIVVIVWIVXIVYIVZIWJIWKIWLIWMIWNIWOIWPIWQIWRIWSIWTIWUIWVIWWIWXIWYIWZIXJIXKIXLIXMIXNIXOIXPIXQIXRIXSIXTIXUIXVIXWIXXIXYIXZIYJIYKIYLIYMIYNIYOIYPIYQIYRIYSIYTIYUIYVIYWIYXIYYIYZIZJIZKIZLIZMIZNIZOIZPIZQIZRIZSIZTIZUIZVIZWIZXIZYIZZJJJKJJLJJMJJNJJOJJPJJQJJRJJSJJTJJUJJVJJWJJXJJYJJZJKKJKLJKMJKNJKOJKPJKQJKRJKSJKTJKUJKVJKWJKXJKYJKZJLKJLLJLMJLNJLOJLPJLQJLRJLSJLTJLUJLVJLWJLXJLYJLZJMKJMLJMMJMNJMOJMPJMQJMRJMSJMTJMUJMVJMWJMXJMYJMZJNKJNLJNMJNNJNOJNPJNQJNRJNSJNTJNUJNVJNWJNXJNYJNZJOKJOLJOMJONJOOJOPJOQJORJOSJOTJOUJOVJOWJOXJOYJOZJPKJPLJPMJPNJPOJPPJPQJPRJPSJPTJPUJPVJPWJPXJPYJPZJQKJQLJQMJQNJQOJQPJQQJQRJQSJQTJQUJQVJQWJQXJQYJQZJRKJRLJRMJRNJROJRPJRQJRRJRSJRTJRUJRVJRWJRXJRYJRZJSKJSLJSMJSNJSOJSPJSQJSRJSSJSTJSUJSVJSWJSXJSYJSZJTKJTLJTMJTNJTOJTPJTQJTRJTSJTTJTUJTVJTWJTXJTYJTZJUKJULJUMJUNJUOJUPJUQJURJUSJUTJUUJUVJUWJUXJUYJUZJVKJVLJVMJVNJVOJVPJVQJVRJVSJVTJVUJVVJVWJVXJVYJVZJWKJWLJWMJWNJWOJWPJWQJWRJWSJWTJWUJWVJWWJWXJWYJWZJXKJXLJXMJXNJXOJXPJXQJXRJXSJXTJXUJXVJXWJXXJXYJXZJYKJYLJYMJYNJYOJYPJYQJYRJYSJYTJYUJYVJYWJYXJYYJYZJZKJZLJZMJZNJZOJZPJZQJZRJZSJZTJZUJZVJZWJZXJZYJZZKKKLKKMKKNKKOKKPKKQKKRKKSKKTKKUKKVKKWKKXKKYKKZKLLKLMKLNKLOKLPKLQKLRKLSKLTKLUKLVKLWKLXKLYKLZKMLKMMKMNKMOKMPKMQKMRKMSKMTKMUKMVKMWKMXKMYKMZKNLKNMKNNKNOKNPKNQKNRKNSKNTKNUKNVKNWKNXKNYKNZKOLKOMKONKOOKOPKOQKORKOSKOTKOUKOVKOWKOXKOYKOZKPLKPMKPNKPOKPPKPQKPRKPSKPTKPUKPVKPWKPXKPYKPZKQLKQMKQNKQOKQPKQQKQRKQSKQTKQUKQVKQWKQXKQYKQZKRLKRMKRNKROKRPKRQKRRKRSKRTKRUKRVKRWKRXKRYKRZKSLKSMKSNKSOKSPKSQKSRKSSKSTKSUKSVKSWKSXKSYKSZKTLKTMKTNKTOKTPKTQKTRKTSKTTKTUKTVKTWKTXKTYKTZKULKUMKUNKUOKUPKUQKURKUSKUTKUUKUVKUWKUXKUYKUZKVLKVMKVNKVOKVPKVQKVRKVSKVTKVUKVVKVWKVXKVYKVZKWLKWMKWNKWOKWPKWQKWRKWSKWTKWUKWVKWWKWXKWYKWZKXLKXMKXNKXOKXPKXQKXRKXSKXTKXUKXVKXWKXXKXYKXZKYLKYMKYNKYOKYPKYQKYRKYSKYTKYUKYVKYWKYXKYYKYZKZLKZMKZNKZOKZPKZQKZRKZSKZTKZUKZVKZWKZXKZYKZZLLLMLLNLLOLLPLLQLLRLLSLLTLLULLVLLWLLXLLYLLZLMMLMNLMOLMPLMQLMRLMSLMTLMULMVLMWLMXLMYLMZLNMLNNLNOLNPLNQLNRLNSLNTLNULNVLNWLNXLNYLNZLOMLONLOOLOPLOQLORLOSLOTLOULOVLOWLOXLOYLOZLPMLPNLPOLPPLPQLPRLPSLPTLPULPVLPWLPXLPYLPZLQMLQNLQOLQPLQQLQRLQSLQTLQULQVLQWLQXLQYLQZLRMLRNLROLRPLRQLRRLRSLRTLRULRVLRWLRXLRYLRZLSMLSNLSOLSPLSQLSRLSSLSTLSULSVLSWLSXLSYLSZLTMLTNLTOLTPLTQLTRLTSLTTLTULTVLTWLTXLTYLTZLUMLUNLUOLUPLUQLURLUSLUTLUULUVLUWLUXLUYLUZLVMLVNLVOLVPLVQLVRLVSLVTLVULVVLVWLVXLVYLVZLWMLWNLWOLWPLWQLWRLWSLWTLWULWVLWWLWXLWYLWZLXMLXNLXOLXPLXQLXRLXSLXTLXULXVLXWLXXLXYLXZLYMLYNLYOLYPLYQLYRLYSLYTLYULYVLYWLYXLYYLYZLZMLZNLZOLZPLZQLZRLZSLZTLZULZVLZWLZXLZYLZZMMMNMMOMMPMMQMMRMMSMMTMMUMMVMMWMMXMMYMMZMNNMNOMNPMNQMNRMNSMNTMNUMNVMNWMNXMNYMNZMONMOOMOPMOQMORMOSMOTMOUMOVMOWMOXMOYMOZMPNMPOMPPMPQMPRMPSMPTMPUMPVMPWMPXMPYMPZMQNMQOMQPMQQMQRMQSMQTMQUMQVMQWMQXMQYMQZMRNMROMRPMRQMRRMRSMRTMRUMRVMRWMRXMRYMRZMSNMSOMSPMSQMSRMSSMSTMSUMSVMSWMSXMSYMSZMTNMTOMTPMTQMTRMTSMTTMTUMTVMTWMTXMTYMTZMUNMUOMUPMUQMURMUSMUTMUUMUVMUWMUXMUYMUZMVNMVOMVPMVQMVRMVSMVTMVUMVVMVWMVXMVYMVZMWNMWOMWPMWQMWRMWSMWTMWUMWVMWWMWXMWYMWZMXNMXOMXPMXQMXRMXSMXTMXUMXVMXWMXXMXYMXZMYNMYOMYPMYQMYRMYSMYTMYUMYVMYWMYXMYYMYZMZNMZOMZPMZQMZRMZSMZTMZUMZVMZWMZXMZYMZZNNNONNPNNQNNRNNSNNTNNUNNVNNWNNXNNYNNZNOONOPNOQNORNOSNOTNOUNOVNOWNOXNOYNOZNPONPPNPQNPRNPSNPTNPUNPVNPWNPXNPYNPZNQONQPNQQNQRNQSNQTNQUNQVNQWNQXNQYNQZNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNSONSPNSQNSRNSSNSTNSUNSVNSWNSXNSYNSZNTONTPNTQNTRNTSNTTNTUNTVNTWNTXNTYNTZNUONUPNUQNURNUSNUTNUUNUVNUWNUXNUYNUZNVONVPNVQNVRNVSNVTNVUNVVNVWNVXNVYNVZNWONWPNWQNWRNWSNWTNWUNWVNWWNWXNWYNWZNXONXPNXQNXRNXSNXTNXUNXVNXWNXXNXYNXZNYONYPNYQNYRNYSNYTNYUNYVNYWNYXNYYNYZNZONZPNZQNZRNZSNZTNZUNZVNZWNZXNZYNZZOOOPOOQOOROOSOOTOOUOOVOOWOOXOOYOOZOPPOPQOPROPSOPTOPUOPVOPWOPXOPYOPZOQPOQQOQROQSOQTOQUOQVOQWOQXOQYOQZORPORQORRORSORTORUORVORWORXORYORZOSPOSQOSROSSOSTOSUOSVOSWOSXOSYOSZOTPOTQOTROTSOTTOTUOTVOTWOTXOTYOTZOUPOUQOUROUSOUTOUUOUVOUWOUXOUYOUZOVPOVQOVROVSOVTOVUOVVOVWOVXOVYOVZOWPOWQOWROWSOWTOWUOWVOWWOWXOWYOWZOXPOXQOXROXSOXTOXUOXVOXWOXXOXYOXZOYPOYQOYROYSOYTOYUOYVOYWOYXOYYOYZOZPOZQOZROZSOZTOZUOZVOZWOZXOZYOZZPPPQPPRPPSPPTPPUPPVPPWPPXPPYPPZPQQPQRPQSPQTPQUPQVPQWPQXPQYPQZPRQPRRPRSPRTPRUPRVPRWPRXPRYPRZPSQPSRPSSPSTPSUPSVPSWPSXPSYPSZPTQPTRPTSPTTPTUPTVTABUABVABWABXABYABZACBACCACDACEACFACGACHACIACJACKACLACMACNACOACPACQACRACSACTACUACVACWACXACYACZADBADCADDADEADFADGADHADIADJADKADLADMADAAABAACAADAAEAAFAAGAAHAAIAAJAAKAALAAMAANAAOAAPAAQAARAASAATAAUAAVAAWAAXAAYAAZABBABCABDABEABFABGABHABIABJABKABLABMABNABOABPABQABRABSABHAFIAFJAFKAFLAFMAFNAFOAFPAFQAFRAFSAFTAFUAFVAFWAFXAFYAFZAGBAGCAGDAGEAGFAGGAGHAGIAGJAGKAGLAGMAGNAGOAGPAGQAGRAGSAGTAGUAGVAGWAGXAGYAGZAHNADOADPADQADRADSADTADUADVADWADXADYADZAEBAECAEDAEEAEFAEGAEHAEIAEJAEKAELAEMAENAEOAEPAEQAERAESAETAEUAEVAEWAEXAEYAEZAFBAFCAFDAFEAFFAFGAFUAIVAIWAIXAIYAIZAJBAJCAJDAJEAJFAJGAJHAJIAJJAJKAJLAJMAJNAJOAJPAJQAJRAJSAJTAJUAJVAJWAJXAJYAJZAKBAKCAKDAKEAKFAKGAKHAKIAKJAKKAKLAKMAKNAKBAHCAHDAHEAHFAHGAHHAHIAHJAHKAHLAHMAHNAHOAHPAHQAHRAHSAHTAHUAHVAHWAHXAHYAHZAIBAICAIDAIEAIFAIGAIHAIIAIJAIKAILAIMAINAIOAIPAIQAIRAISAITAIIAMJAMKAMLAMMAMNAMOAMPAMQAMRAMSAMTAMUAMVAMWAMXAMYAMZANBANCANDANEANFANGANHANIANJANKANLANMANNANOANPANQANRANSANTANUANVANWANXANYANZAOBAOOAKPAKQAKRAKSAKTAKUAKVAKWAKXAKYAKZALBALCALDALEALFALGALHALIALJALKALLALMALNALOALPALQALRALSALTALUALVALWALXALYALZAMBAMCAMDAMEAMFAMGAMHAMVAPWAPXAPYAPZAQBAQCAQDAQEAQFAQGAQHAQIAQJAQKAQLAQMAQNAQOAQPAQQAQRAQSAQTAQUAQVAQWAQXAQYAQZARBARCARDAREARFARGARHARIARJARKARLARMARNAROARCAODAOEAOFAOGAOHAOIAOJAOKAOLAOMAONAOOAOPAOQAORAOSAOTAOUAOVAOWAOXAOYAOZAPBAPCAPDAPEAPFAPGAPHAPIAPJAPKAPLAPMAPNAPOAPPAPQAPRAPSAPTAPUAPJATKATLATMATNATOATPATQATRATSATTATUATVATWATXATYATZAUBAUCAUDAUEAUFAUGAUHAUIAUJAUKAULAUMAUNAUOAUPAUQAURAUSAUTAUUAUVAUWAUXAUYAUZAVBAVCAVPARQARRARSARTARUARVARWARXARYARZASBASCASDASEASFASGASHASIASJASKASLASMASNASOASPASQASRASSASTASUASVASWASXASYASZATBATCATDATEATFATGATHATIATWAWXAWYAWZAXBAXCAXDAXEAXFAXGAXHAXIAXJAXKAXLAXMAXNAXOAXPAXQAXRAXSAXTAXUAXVAXWAXXAXYAXZAYBAYCAYDAYEAYFAYGAYHAYIAYJAYKAYLAYMAYNAYOAYPAYDAVEAVFAVGAVHAVIAVJAVKAVLAVMAVNAVOAVPAVQAVRAVSAVTAVUAVVAVWAVXAVYAVZAWBAWCAWDAWEAWFAWGAWHAWIAWJAWKAWLAWMAWNAWOAWPAWQAWRAWSAWTAWUAWVAWBLBBMBBNBBOBBPBBQBBRBBSBBTBBUBBVBBWBBXBBYBBZBCCBCDBCEBCFBCGBCHBCIBCJBCKBCLBCMBCNBCOBCPBCQBCRBCSBCTBCUBCVBCWBCXBCYBCZBDCBDDBDEBDFBDGBQAYRAYSAYTAYUAYVAYWAYXAYYAYZAZBAZCAZDAZEAZFAZGAZHAZIAZJAZKAZLAZMAZNAZOAZPAZQAZRAZSAZTAZUAZVAZWAZXAZYAZZBBBCBBDBBEBBFBBGBBHBBIBBJBBKBFDBFEBFFBFGBFHBFIBFJBFKBFLBFMBFNBFOBFPBFQBFRBFSBFTBFUBFVBFWBFXBFYBFZBGCBGDBGEBGFBGGBGHBGIBGJBGKBGLBGMBGNBGOBGPBGQBGRBGSBGTBGUBGVBGWBDHBDIBDJBDKBDLBDMBDNBDOBDPBDQBDRBDSBDTBDUBDVBDWBDXBDYBDZBECBEDBEEBEFBEGBEHBEIBEJBEKBELBEMBENBEOBEPBEQBERBESBETBEUBEVBEWBEXBEYBEZBFCBITBIUBIVBIWBIXBIYBIZBJCBJDBJEBJFBJGBJHBJIBJJBJKBJLBJMBJNBJOBJPBJQBJRBJSBJTBJUBJVBJWBJXBJYBJZBKCBKDBKEBKFBKGBKHBKIBKJBKKBKLBKMBKNBKOBGXBGYBGZBHCBHDBHEBHFBHGBHHBHIBHJBHKBHLBHMBHNBHOBHPBHQBHRBHSBHTBHUBHVBHWBHXBHYBHZBICBIDBIEBIFBIGBIHBIIBIJBIKBILBIMBINBIOBIPBIQBIRBISBMLBMMBMNBMOBMPBMQBMRBMSBMTBMUBMVBMWBMXBMYBMZBNCBNDBNEBNFBNGBNHBNIBNJBNKBNLBNMBNNBNOBNPBNQBNRBNSBNTBNUBNVBNWBNXBNYBNZBOCBODBOEBOFBOGBKPBKQBKRBKSBKTBKUBKVBKWBKXBKYBKZBLCBLDBLEBLFBLGBLHBLIBLJBLKBLLBLMBLNBLOBLPBLQBLRBLSBLTBLUBLVBLWBLXBLYBLZBMCBMDBMEBMFBMGBMHBMIBMJBMKBQDBQEBQFBQGBQHBQIBQJBQKBQLBQMBQNBQOBQPBQQBQRBQSBQTBQUBQVBQWBQXBQYBQZBRCBRDBREBRFBRGBRHBRIBRJBRKBRLBRMBRNBROBRPBRQBRRBRSBRTBRUBRVBRWBOHBOIBOJBOKBOLBOMBONBOOBOPBOQBORBOSBOTBOUBOVBOWBOXBOYBOZBPCBPDBPEBPFBPGBPHBPIBPJBPKBPLBPMBPNBPOBPPBPQBPRBPSBPTBPUBPVBPWBPXBPYBPZBQCBTTBTUBTVBTWBTXBTYBTZBUCBUDBUEBUFBUGBUHBUIBUJBUKBULBUMBUNBUOBUPBUQBURBUSBUTBUUBUVBUWBUXBUYBUZBVCBVDBVEBVFBVGBVHBVIBVJBVKBVLBVMBVNBVOBRXBRYBRZBSCBSDBSEBSFBSGBSHBSIBSJBSKBSLBSMBSNBSOBSPBSQBSRBSSBSTBSUBSVBSWBSXBSYBSZBTCBTDBTEBTFBTGBTHBTIBTJBTKBTLBTMBTNBTOBTPBTQBTRBTSBXLBXMBXNBXOBXPBXQBXRBXSBXTBXUBXVBXWBXXBXYBXZBYCBYDBYEBYFBYGBYHBYIBYJBYKBYLBYMBYNBYOBYPBYQBYRBYSBYTBYUBYVBYWBYXBYYBYZBZCBZDBZEBZFBZGBVPBVQBVRBVSBVTBVUBVVBVWBVXBVYBVZBWCBWDBWEBWFBWGBWHBWIBWJBWKBWLBWMBWNBWOBWPBWQBWRBWSBWTBWUBWVBWWBWXBWYBWZBXCBXDBXEBXFBXGBXHBXIBXJBXKBCDFCDGCDHCDICDJCDKCDLCDMCDNCDOCDPCDQCDRCDSCDTCDUCDVCDWCDXCDYCDZCEDCEECEFCEGCEHCEICEJCEKCELCEMCENCEOCEPCEQCERCESCETCEUCEVCEWCEXCEYCEZZHBZIBZJBZKBZLBZMBZNBZOBZPBZQBZRBZSBZTBZUBZVBZWBZXBZYBZZCCCDCCECCFCCGCCHCCICCJCCKCCLCCMCCNCCOCCPCCQCCRCCSCCTCCUCCVCCWCCXCCYCCZCDDCDECGYCGZCHDCHECHFCHGCHHCHICHJCHKCHLCHMCHNCHOCHPCHQCHRCHSCHTCHUCHVCHWCHXCHYCHZCIDCIECIFCIGCIHCIICIJCIKCILCIMCINCIOCIPCIQCIRCISCITCIUCIVCFDCFECFFCFGCFHCFICFJCFKCFLCFMCFNCFOCFPCFQCFRCFSCFTCFUCFVCFWCFXCFYCFZCGDCGECGFCGGCGHCGICGJCGKCGLCGMCGNCGOCGPCGQCGRCGSCGTCGUCGVCGWCGXCKUCKVCKWCKXCKYCKZCLDCLECLFCLGCLHCLICLJCLKCLLCLMCLNCLOCLPCLQCLRCLSCLTCLUCLVCLWCLXCLYCLZCMDCMECMFCMGCMHCMICMJCMKCMLCMMCMNCMOCMPCMQCMRCIWCIXCIYCIZCJDCJECJFCJGCJHCJICJJCJKCJLCJMCJNCJOCJPCJQCJRCJSCJTCJUCJVCJWCJXCJYCJZCKDCKECKFCKGCKHCKICKJCKKCKLCKMCKNCKOCKPCKQCKRCKSCKTCOQCORCOSCOTCOUCOVCOWCOXCOYCOZCPDCPECPFCPGCPHCPICPJCPKCPLCPMCPNCPOCPPCPQCPRCPSCPTCPUCPVCPWCPXCPYCPZCQDCQECQFCQGCQHCQICQJCQKCQLCQMCQNCMSCMTCMUCMVCMWCMXCMYCMZCNDCNECNFCNGCNHCNICNJCNKCNLCNMCNNCNOCNPCNQCNRCNSCNTCNUCNVCNWCNXCNYCNZCODCOECOFCOGCOHCOICOJCOKCOLCOMCONCOOCOPCSMCSNCSOCSPCSQCSRCSSCSTCSUCSVCSWCSXCSYCSZCTDCTECTFCTGCTHCTICTJCTKCTLCTMCTNCTOCTPCTQCTRCTSCTTCTUCTVCTWCTXCTYCTZCUDCUECUFCUGCUHCUICUJCQOCQPCQQCQRCQSCQTCQUCQVCQWCQXCQYCQZCRDCRECRFCRGCRHCRICRJCRKCRLCRMCRNCROCRPCRQCRRCRSCRTCRUCRVCRWCRXCRYCRZCSDCSECSFCSGCSHCSICSJCSKCSLCWICWJCWKCWLCWMCWNCWOCWPCWQCWRCWSCWTCWUCWVCWWCWXCWYCWZCXDCXECXFCXGCXHCXICXJCXKCXLCXMCXNCXOCXPCXQCXRCXSCXTCXUCXVCXWCXXCXYCXZCYDCYECYFCUKCULCUMCUNCUOCUPCUQCURCUSCUTCUUCUVCUWCUXCUYCUZCVDCVECVFCVGCVHCVICVJCVKCVLCVMCVNCVOCVPCVQCVRCVSCVTCVUCVVCVWCVXCVYCVZCWDCWECWFCWGCWHEDDFDDGDDHDDIDDJDDKDDLDDMDDNDDODDPDDQDDRDDSDDTDDUDDVDDWDDXDDYDDZDEEDEFDEGDEHDEIDEJDEKDELDEMDENDEODEPDEQDERDESDETDEUDEVDEWDEXDEYDEZDFCYGCYHCYICYJCYKCYLCYMCYNCYOCYPCYQCYRCYSCYTCYUCYVCYWCYXCYYCYZCZDCZECZFCZGCZHCZICZJCZKCZLCZMCZNCZOCZPCZQCZRCZSCZTCZUCZVCZWCZXCZYCZZDDDEDHFDHGDHHDHIDHJDHKDHLDHMDHNDHODHPDHQDHRDHSDHTDHUDHVDHWDHXDHYDHZDIEDIFDIGDIHDIIDIJDIKDILDIMDINDIODIPDIQDIRDISDITDIUDIVDIWDIXDIYDIZDJEDFFDFGDFHDFIDFJDFKDFLDFMDFNDFODFPDFQDFRDFSDFTDFUDFVDFWDFXDFYDFZDGEDGFDGGDGHDGIDGJDGKDGLDGMDGNDGODGPDGQDGRDGSDGTDGUDGVDGWDGXDGYDGZDHEDLFDLGDLHDLIDLJDLKDLLDLMDLNDLODLPDLQDLRDLSDLTDLUDLVDLWDLXDLYDLZDMEDMFDMGDMHDMIDMJDMKDMLDMMDMNDMODMPDMQDMRDMSDMTDMUDMVDMWDMXDMYDMZDNEDJFDJGDJHDJIDJJDJKDJLDJMDJNDJODJPDJQDJRDJSDJTDJUDJVDJWDJXDJYDJZDKEDKFDKGDKHDKIDKJDKKDKLDKMDKNDKODKPDKQDKRDKSDKTDKUDKVDKWDKXDKYDKZDLEDPFDPGDPHDPIDPJDPKDPLDPMDPNDPODPPDPQDPRDPSDPTDPUDPVDPWDPXDPYDPZDQEDQFDQGDQHDQIDQJDQKDQLDQMDQNDQODQPDQQDQRDQSDQTDQUDQVDQWDQXDQYDQZDREDNFDNGDNHDNIDNJDNKDNLDNMDNNDNODNPDNQDNRDNSDNTDNUDNVDNWDNXDNYDNZDOEDOFDOGDOHDOIDOJDOKDOLDOMDONDOODOPDOQDORDOSDOTDOUDOVDOWDOXDOYDOZDPEDTFDTGDTHDTIDTJDTKDTLDTMDTNDTODTPDTQDTRDTSDTTDTUDTVDTWDTXDTYDTZDUEDUFDUGDUHDUIDUJDUKDULDUMDUNDUODUPDUQDURDUSDUTDUUDUVDUWDUXDUYDUZDVEDRFDRGDRHDRIDRJDRKDRLDRMDRNDRODRPDRQDRRDRSDRTDRUDRVDRWDRXDRYDRZDSEDSFDSGDSHDSIDSJDSKDSLDSMDSNDSODSPDSQDSRDSSDSTDSUDSVDSWDSXDSYDSZDTEDXFDXGDXHDXIDXJDXKDXLDXMDXNDXODXPDXQDXRDXSDXTDXUDXVDXWDXXDXYDXZDYEDYFDYGDYHDYIDYJDYKDYLDYMDYNDYODYPDYQDYRDYSDYTDYUDYVDYWDYXDYYDYZDZEDVFDVGDVHDVIDVJDVKDVLDVMDVNDVODVPDVQDVRDVSDVTDVUDVVDVWDVXDVYDVZDWEDWFDWGDWHDWIDWJDWKDWLDWMDWNDWODWPDWQDWRDWSDWTDWUDWVDWWDWXDWYDWZDXFGEFHEFIEFJEFKEFLEFMEFNEFOEFPEFQEFREFSEFTEFUEFVEFWEFXEFYEFZEGFEGGEGHEGIEGJEGKEGLEGMEGNEGOEGPEGQEGREGSEGTEGUEGVEGWEGXEGYEGZEHFEHGEHHEEDZFDZGDZHDZIDZJDZKDZLDZMDZNDZODZPDZQDZRDZSDZTDZUDZVDZWDZXDZYDZZEEEFEEGEEHEEIEEJEEKEELEEMEENEEOEEPEEQEEREESEETEEUEEVEEWEEXEEYEEZEFFEJKEJLEJMEJNEJOEJPEJQEJREJSEJTEJUEJVEJWEJXEJYEJZEKFEKGEKHEKIEKJEKKEKLEKMEKNEKOEKPEKQEKREKSEKTEKUEKVEKWEKXEKYEKZELFELGELHELIELJELKELLEHIEHJEHKEHLEHMEHNEHOEHPEHQEHREHSEHTEHUEHVEHWEHXEHYEHZEIFEIGEIHEIIEIJEIKEILEIMEINEIOEIPEIQEIREISEITEIUEIVEIWEIXEIYEIZEJFEJGEJHEJIEJJENOENPENQENRENSENTENUENVENWENXENYENZEOFEOGEOHEOIEOJEOKEOLEOMEONEOOEOPEOQEOREOSEOTEOUEOVEOWEOXEOYEOZEPFEPGEPHEPIEPJEPKEPLEPMEPNEPOEPPELMELNELOELPELQELRELSELTELUELVELWELXELYELZEMFEMGEMHEMIEMJEMKEMLEMMEMNEMOEMPEMQEMREMSEMTEMUEMVEMWEMXEMYEMZENFENGENHENIENJENKENLENMENNERSERTERUERVERWERXERYERZESFESGESHESIESJESKESLESMESNESOESPESQESRESSESTESUESVESWESXESYESZETFETGETHETIETJETKETLETMETNETOETPETQETRETSETTEPQEPREPSEPTEPUEPVEPWEPXEPYEPZEQFEQGEQHEQIEQJEQKEQLEQMEQNEQOEQPEQQEQREQSEQTEQUEQVEQWEQXEQYEQZERFERGERHERIERJERKERLERMERNEROERPERQERREVWEVXEVYEVZEWFEWGEWHEWIEWJEWKEWLEWMEWNEWOEWPEWQEWREWSEWTEWUEWVEWWEWXEWYEWZEXFEXGEXHEXIEXJEXKEXLEXMEXNEXOEXPEXQEXREXSEXTEXUEXVEXWEXXETUETVETWETXETYETZEUFEUGEUHEUIEUJEUKEULEUMEUNEUOEUPEUQEUREUSEUTEUUEUVEUWEUXEUYEUZEVFEVGEVHEVIEVJEVKEVLEVMEVNEVOEVPEVQEVREVSEVTEVUEVVEFFGFFHFFIFFJFFKFFLFFMFFNFFOFFPFFQFFRFFSFFTFFUFFVFFWFFXFFYFFZFGGFGHFGIFGJFGKFGLFGMFGNFGOFGPFGQFGRFGSFGTFGUFGVFGWFGXFGYFGZFHGFHHFHIFHJXYEXZEYFEYGEYHEYIEYJEYKEYLEYMEYNEYOEYPEYQEYREYSEYTEYUEYVEYWEYXEYYEYZEZFEZGEZHEZIEZJEZKEZLEZMEZNEZOEZPEZQEZREZSEZTEZUEZVEZWEZXEZYEZZFFJOFJPFJQFJRFJSFJTFJUFJVFJWFJXFJYFJZFKGFKHFKIFKJFKKFKLFKMFKNFKOFKPFKQFKRFKSFKTFKUFKVFKWFKXFKYFKZFLGFLHFLIFLJFLKFLLFLMFLNFLOFLPFLQFLRFHKFHLFHMFHNFHOFHPFHQFHRFHSFHTFHUFHVFHWFHXFHYFHZFIGFIHFIIFIJFIKFILFIMFINFIOFIPFIQFIRFISFITFIUFIVFIWFIXFIYFIZFJGFJHFJIFJJFJKFJLFJMFJNFNWFNXFNYFNZFOGFOHFOIFOJFOKFOLFOMFONFOOFOPFOQFORFOSFOTFOUFOVFOWFOXFOYFOZFPGFPHFPIFPJFPKFPLFPMFPNFPOFPPFPQFPRFPSFPTFPUFPVFPWFPXFPYFPZFLSFLTFLUFLVFLWFLXFLYFLZFMGFMHFMIFMJFMKFMLFMMFMNFMOFMPFMQFMRFMSFMTFMUFMVFMWFMXFMYFMZFNGFNHFNIFNJFNKFNLFNMFNNFNOFNPFNQFNRFNSFNTFNUFNVFSKFSLFSMFSNFSOFSPFSQFSRFSSFSTFSUFSVFSWFSXFSYFSZFTGFTHFTIFTJFTKFTLFTMFTNFTOFTPFTQFTRFTSFTTFTUFTVFTWFTXFTYFTZFUGFUHFUIFUJFUKFULFUMFUNFQGFQHFQIFQJFQKFQLFQMFQNFQOFQPFQQFQRFQSFQTFQUFQVFQWFQXFQYFQZFRGFRHFRIFRJFRKFRLFRMFRNFROFRPFRQFRRFRSFRTFRUFRVFRWFRXFRYFRZFSGFSHFSIFSJFWSFWTFWUFWVFWWFWXFWYFWZFXGFXHFXIFXJFXKFXLFXMFXNFXOFXPFXQFXRFXSFXTFXUFXVFXWFXXFXYFXZFYGFYHFYIFYJFYKFYLFYMFYNFYOFYPFYQFYRFYSFYTFYUFYVFUOFUPFUQFURFUSFUTFUUFUVFUWFUXFUYFUZFVGFVHFVIFVJFVKFVLFVMFVNFVOFVPFVQFVRFVSFVTFVUFVVFVWFVXFVYFVZFWGFWHFWIFWJFWKFWLFWMFWNFWOFWPFWQFWRHGHIGHJGHKGHLGHMGHNGHOGHPGHQGHRGHSGHTGHUGHVGHWGHXGHYGHZGIHGIIGIJGIKGILGIMGINGIOGIPGIQGIRGISGITGIUGIVGIWGIXGIYGIZGJHGJIGJJGJKGJLGJMGJFYWFYXFYYFYZFZGFZHFZIFZJFZKFZLFZMFZNFZOFZPFZQFZRFZSFZTFZUFZVFZWFZXFZYFZZGGGHGGIGGJGGKGGLGGMGGNGGOGGPGGQGGRGGSGGTGGUGGVGGWGGXGGYGGZGHTGLUGLVGLWGLXGLYGLZGMHGMIGMJGMKGMLGMMGMNGMOGMPGMQGMRGMSGMTGMUGMVGMWGMXGMYGMZGNHGNIGNJGNKGNLGNMGNNGNOGNPGNQGNRGNSGNTGNUGNVGNWGNXGNYGNNGJOGJPGJQGJRGJSGJTGJUGJVGJWGJXGJYGJZGKHGKIGKJGKKGKLGKMGKNGKOGKPGKQGKRGKSGKTGKUGKVGKWGKXGKYGKZGLHGLIGLJGLKGLLGLMGLNGLOGLPGLQGLRGLSGLMGQNGQOGQPGQQGQRGQSGQTGQUGQVGQWGQXGQYGQZGRHGRIGRJGRKGRLGRMGRNGROGRPGRQGRRGRSGRTGRUGRVGRWGRXGRYGRZGSHGSIGSJGSKGSLGSMGSNGSOGSPGSQGSRGSZGOHGOIGOJGOKGOLGOMGONGOOGOPGOQGORGOSGOTGOUGOVGOWGOXGOYGOZGPHGPIGPJGPKGPLGPMGPNGPOGPPGPQGPRGPSGPTGPUGPVGPWGPXGPYGPZGQHGQIGQJGQKGQLGQYGUZGVHGVIGVJGVKGVLGVMGVNGVOGVPGVQGVRGVSGVTGVUGVVGVWGVXGVYGVZGWHGWIGWJGWKGWLGWMGWNGWOGWPGWQGWRGWSGWTGWUGWVGWWGWXGWYGWZGXHGXIGXJGXKGXSGSTGSUGSVGSWGSXGSYGSZGTHGTIGTJGTKGTLGTMGTNGTOGTPGTQGTRGTSGTTGTUGTVGTWGTXGTYGTZGUHGUIGUJGUKGULGUMGUNGUOGUPGUQGURGUSGUTGUUGUVGUWGUXGURGZSGZTGZUGZVGZWGZXGZYGZZHHHIHHJHHKHHLHHMHHNHHOHHPHHQHHRHHSHHTHHUHHVHHWHHXHHYHHZHIIHIJHIKHILHIMHINHIOHIPHIQHIRHISHITHIUHIVHIWHIXHIYHLGXMGXNGXOGXPGXQGXRGXSGXTGXUGXVGXWGXXGXYGXZGYHGYIGYJGYKGYLGYMGYNGYOGYPGYQGYRGYSGYTGYUGYVGYWGYXGYYGYZGZHGZIGZJGZKGZLGZMGZNGZOGZPGZQGZLPHLQHLRHLSHLTHLUHLVHLWHLXHLYHLZHMIHMJHMKHMLHMMHMNHMOHMPHMQHMRHMSHMTHMUHMVHMWHMXHMYHMZHNIHNJHNKHNLHNMHNNHNOHNPHNQHNRHNSHNTHNUHNVHNWHIZHJIHJJHJKHJLHJMHJNHJOHJPHJQHJRHJSHJTHJUHJVHJWHJXHJYHJZHKIHKJHKKHKLHKMHKNHKOHKPHKQHKRHKSHKTHKUHKVHKWHKXHKYHKZHLIHLJHLKHLLHLMHLNHLOHQNHQOHQPHQQHQRHQSHQTHQUHQVHQWHQXHQYHQZHRIHRJHRKHRLHRMHRNHROHRPHRQHRRHRSHRTHRUHRVHRWHRXHRYHRZHSIHSJHSKHSLHSMHSNHSOHSPHSQHSRHSSHSTHSUHNXHNYHNZHOIHOJHOKHOLHOMHONHOOHOPHOQHORHOSHOTHOUHOVHOWHOXHOYHOZHPIHPJHPKHPLHPMHPNHPOHPPHPQHPRHPSHPTHPUHPVHPWHPXHPYHPZHQIHQJHQKHQLHQMHVLHVMHVNHVOHVPHVQHVRHVSHVTHVUHVVHVWHVXHVYHVZHWIHWJHWKHWLHWMHWNHWOHWPHWQHWRHWSHWTHWUHWVHWWHWXHWYHWZHXIHXJHXKHXLHXMHXNHXOHXPHXQHXRHXSHSVHSWHSXHSYHSZHTIHTJHTKHTLHTMHTNHTOHTPHTQHTRHTSHTTHTUHTVHTWHTXHTYHTZHUIHUJHUKHULHUMHUNHUOHUPHUQHURHUSHUTHUUHUVHUWHUXHUYHUZHVIHVJHVKHIIKIILIIMIINIIOIIPIIQIIRIISIITIIUIIVIIWIIXIIYIIZIJJIJKIJLIJMIJNIJOIJPIJQIJRIJSIJTIJUIJVIJWIJXIJYIJZIKJIKKIKLIKMIKNIKOIKPIKQIKRIKSIKTXTHXUHXVHXWHXXHXYHXZHYIHYJHYKHYLHYMHYNHYOHYPHYQHYRHYSHYTHYUHYVHYWHYXHYYHYZHZIHZJHZKHZLHZMHZNHZOHZPHZQHZRHZSHZTHZUHZVHZWHZXHZYHZZIIIJINNINOINPINQINRINSINTINUINVINWINXINYINZIOJIOKIOLIOMIONIOOIOPIOQIORIOSIOTIOUIOVIOWIOXIOYIOZIPJIPKIPLIPMIPNIPOIPPIPQIPRIPSIPTIPUIPVIPWIKUIKVIKWIKXIKYIKZILJILKILLILMILNILOILPILQILRILSILTILUILVILWILXILYILZIMJIMKIMLIMMIMNIMOIMPIMQIMRIMSIMTIMUIMVIMWIMXIMYIMZINJINKINLINMISQISRISSISTISUISVISWISXISYISZITJITKITLITMITNITOITPITQITRITSITTITUITVITWITXITYITZIUJIUKIULIUMIUNIUOIUPIUQIURIUSIUTIUUIUVIUWIUXIUYIUZIPXIPYIPZIQJIQKIQLIQMIQNIQOIQPIQQIQRIQSIQTIQUIQVIQWIQXIQYIQZIRJIRKIRLIRMIRNIROIRPIRQIRRIRSIRTIRUIRVIRWIRXIRYIRZISJISKISLISMISNISOISPIXTIXUIXVIXWIXXIXYIXZIYJIYKIYLIYMIYNIYOIYPIYQIYRIYSIYTIYUIYVIYWIYXIYYIYZIZJIZKIZLIZMIZNIZOIZPIZQIZRIZSIZTIZUIZVIZWIZXIZYIZZJJJKJJLJJIVJIVKIVLIVMIVNIVOIVPIVQIVRIVSIVTIVUIVVIVWIVXIVYIVZIWJIWKIWLIWMIWNIWOIWPIWQIWRIWSIWTIWUIWVIWWIWXIWYIWZIXJIXKIXLIXMIXNIXOIXPIXQIXRIXSYJLZJMKJMLJMMJMNJMOJMPJMQJMRJMSJMTJMUJMVJMWJMXJMYJMZJNKJNLJNMJNNJNOJNPJNQJNRJNSJNTJNUJNVJNWJNXJNYJNZJOKJOLJOMJONJOOJOPJOQJORJOSJOTJOMJJNJJOJJPJJQJJRJJSJJTJJUJJVJJWJJXJJYJJZJKKJKLJKMJKNJKOJKPJKQJKRJKSJKTJKUJKVJKWJKXJKYJKZJLKJLLJLMJLNJLOJLPJLQJLRJLSJLTJLUJLVJLWJLXJLQJRRJRSJRTJRUJRVJRWJRXJRYJRZJSKJSLJSMJSNJSOJSPJSQJSRJSSJSTJSUJSVJSWJSXJSYJSZJTKJTLJTMJTNJTOJTPJTQJTRJTSJTTJTUJTVJTWJTXJTYJTZJUKJULJUUJOVJOWJOXJOYJOZJPKJPLJPMJPNJPOJPPJPQJPRJPSJPTJPUJPVJPWJPXJPYJPZJQKJQLJQMJQNJQOJQPJQQJQRJQSJQTJQUJQVJQWJQXJQYJQZJRKJRLJRMJRNJROJRPJRYJWZJXKJXLJXMJXNJXOJXPJXQJXRJXSJXTJXUJXVJXWJXXJXYJXZJYKJYLJYMJYNJYOJYPJYQJYRJYSJYTJYUJYVJYWJYXJYYJYZJZKJZLJZMJZNJZOJZPJZQJZRJZSJZTJZMJUNJUOJUPJUQJURJUSJUTJUUJUVJUWJUXJUYJUZJVKJVLJVMJVNJVOJVPJVQJVRJVSJVTJVUJVVJVWJVXJVYJVZJWKJWLJWMJWNJWOJWPJWQJWRJWSJWTJWUJWVJWWJWXJWMTKMUKMVKMWKMXKMYKMZKNLKNMKNNKNOKNPKNQKNRKNSKNTKNUKNVKNWKNXKNYKNZKOLKOMKONKOOKOPKOQKORKOSKOTKOUKOVKOWKOXKOYKOZKPLKPMKPNKPOKPPKPQKPRKUJZVJZWJZXJZYJZZKKKLKKMKKNKKOKKPKKQKKRKKSKKTKKUKKVKKWKKXKKYKKZKLLKLMKLNKLOKLPKLQKLRKLSKLTKLUKLVKLWKLXKLYKLZKMLKMMKMNKMOKMPKMQKMRKMSKSRKSSKSTKSUKSVKSWKSXKSYKSZKTLKTMKTNKTOKTPKTQKTRKTSKTTKTUKTVKTWKTXKTYKTZKULKUMKUNKUOKUPKUQKURKUSKUTKUUKUVKUWKUXKUYKUZKVLKVMKVNKVOKVPKPSKPTKPUKPVKPWKPXKPYKPZKQLKQMKQNKQOKQPKQQKQRKQSKQTKQUKQVKQWKQXKQYKQZKRLKRMKRNKROKRPKRQKRRKRSKRTKRUKRVKRWKRXKRYKRZKSLKSMKSNKSOKSPKSQKYPKYQKYRKYSKYTKYUKYVKYWKYXKYYKYZKZLKZMKZNKZOKZPKZQKZRKZSKZTKZUKZVKZWKZXKZYKZZLLLMLLNLLOLLPLLQLLRLLSLLTLLULLVLLWLLXLLYLLZLMMLMNLMOLMPVQKVRKVSKVTKVUKVVKVWKVXKVYKVZKWLKWMKWNKWOKWPKWQKWRKWSKWTKWUKWVKWWKWXKWYKWZKXLKXMKXNKXOKXPKXQKXRKXSKXTKXUKXVKXWKXXKXYKXZKYLKYMKYNKYOKLPSLPTLPULPVLPWLPXLPYLPZLQMLQNLQOLQPLQQLQRLQSLQTLQULQVLQWLQXLQYLQZLRMLRNLROLRPLRQLRRLRSLRTLRULRVLRWLRXLRYLRZLSMLSNLSOLSPLSQLSRLSSLSTLMQLMRLMSLMTLMULMVLMWLMXLMYLMZLNMLNNLNOLNPLNQLNRLNSLNTLNULNVLNWLNXLNYLNZLOMLONLOOLOPLOQLORLOSLOTLOULOVLOWLOXLOYLOZLPMLPNLPOLPPLPQLPRLVWLVXLVYLVZLWMLWNLWOLWPLWQLWRLWSLWTLWULWVLWWLWXLWYLWZLXMLXNLXOLXPLXQLXRLXSLXTLXULXVLXWLXXLXYLXZLYMLYNLYOLYPLYQLYRLYSLYTLYULYVLYWLYXLSULSVLSWLSXLSYLSZLTMLTNLTOLTPLTQLTRLTSLTTLTULTVLTWLTXLTYLTZLUMLUNLUOLUPLUQLURLUSLUTLUULUVLUWLUXLUYLUZLVMLVNLVOLVPLVQLVRLVSLVTLVULVVOMOPMOQMORMOSMOTMOUMOVMOWMOXMOYMOZMPNMPOMPPMPQMPRMPSMPTMPUMPVMPWMPXMPYMPZMQNMQOMQPMQQMQRMQSMQTMQUMQVMQWMQXMQYMQZMRNMROMRPMRQMRRMRSMRLYYLYZLZMLZNLZOLZPLZQLZRLZSLZTLZULZVLZWLZXLZYLZZMMMNMMOMMPMMQMMRMMSMMTMMUMMVMMWMMXMMYMMZMNNMNOMNPMNQMNRMNSMNTMNUMNVMNWMNXMNYMNZMONMOYMUZMVNMVOMVPMVQMVRMVSMVTMVUMVVMVWMVXMVYMVZMWNMWOMWPMWQMWRMWSMWTMWUMWVMWWMWXMWYMWZMXNMXOMXPMXQMXRMXSMXTMXUMXVMXWMXXMXYMXZMYNMYOMYPMYTMRUMRVMRWMRXMRYMRZMSNMSOMSPMSQMSRMSSMSTMSUMSVMSWMSXMSYMSZMTNMTOMTPMTQMTRMTSMTTMTUMTVMTWMTXMTYMTZMUNMUOMUPMUQMURMUSMUTMUUMUVMUWMUXMUOXNOYNOZNPONPPNPQNPRNPSNPTNPUNPVNPWNPXNPYNPZNQONQPNQQNQRNQSNQTNQUNQVNQWNQXNQYNQZNRONRPNRQNRRNRSNRTNRUNRVNRWNRXNRYNRZNSONSPNSQNSRNSSNQMYRMYSMYTMYUMYVMYWMYXMYYMYZMZNMZOMZPMZQMZRMZSMZTMZUMZVMZWMZXMZYMZZNNNONNPNNQNNRNNSNNTNNUNNVNNWNNXNNYNNZNOONOPNOQNORNOSNOTNOUNOVNOWNWPNWQNWRNWSNWTNWUNWVNWWNWXNWYNWZNXONXPNXQNXRNXSNXTNXUNXVNXWNXXNXYNXZNYONYPNYQNYRNYSNYTNYUNYVNYWNYXNYYNYZNZONZPNZQNZRNZSNZTNZUNZVNZWNSTNSUNSVNSWNSXNSYNSZNTONTPNTQNTRNTSNTTNTUNTVNTWNTXNTYNTZNUONUPNUQNURNUSNUTNUUNUVNUWNUXNUYNUZNVONVPNVQNVRNVSNVTNVUNVVNVWNVXNVYNVZNWONORXORYORZOSPOSQOSROSSOSTOSUOSVOSWOSXOSYOSZOTPOTQOTROTSOTTOTUOTVOTWOTXOTYOTZOUPOUQOUROUSOUTOUUOUVOUWOUXOUYOUZOVPOVQOVROVSOVTOVUOVVOVWZXNZYNZZOOOPOOQOOROOSOOTOOUOOVOOWOOXOOYOOZOPPOPQOPROPSOPTOPUOPVOPWOPXOPYOPZOQPOQQOQROQSOQTOQUOQVOQWOQXOQYOQZORPORQORRORSORTORUORVORWOZXOZYOZZPPPQPPRPPSPPTPPUPPVPPWPPXPPYPPZPQQPQRPQSPQTPQUPQVPQWPQXPQYPQZPRQPRRPRSPRTPRUPRVPRWPRXPRYPRZPSQPSRPSSPSTPSUPSVPSWPSXPSYPSZPTOVXOVYOVZOWPOWQOWROWSOWTOWUOWVOWWOWXOWYOWZOXPOXQOXROXSOXTOXUOXVOXWOXXOXYOXZOYPOYQOYROYSOYTOYUOYVOYWOYXOYYOYZOZPOZQOZROZSOZTOZUOZVOZWQPTRPTSPTTPTUPTV
\ No newline at end of file diff --git a/neozip/test/GH-1600/packobj.gz b/neozip/test/GH-1600/packobj.gz Binary files differnew file mode 100644 index 0000000000..d6c4405cf4 --- /dev/null +++ b/neozip/test/GH-1600/packobj.gz diff --git a/neozip/test/GH-361/test.txt b/neozip/test/GH-361/test.txt new file mode 100644 index 0000000000..2b102819f4 --- /dev/null +++ b/neozip/test/GH-361/test.txt @@ -0,0 +1,4 @@ +.....-.u..|u....-...!..A.#?)9.._B..F..| +00000650 fa 13 88 89 2c 1f 81 0f e4 e9 ce 39 a0 87 2e 2e |....,......9....| +00000660 a5 0c 08 9c ec fc 88 6d 16 02 0a a0 3d fc 36 29 |.......m....=.6)| +00000670 8d f5 c3 ba 1d 07 f4 78 e1 a0 41 f9 89 15 a5 69 |.......x..A....
\ No newline at end of file diff --git a/neozip/test/GH-364/test.bin b/neozip/test/GH-364/test.bin Binary files differnew file mode 100644 index 0000000000..1b1cb4d44c --- /dev/null +++ b/neozip/test/GH-364/test.bin diff --git a/neozip/test/GH-382/defneg3.dat b/neozip/test/GH-382/defneg3.dat new file mode 100644 index 0000000000..5fa6a08044 --- /dev/null +++ b/neozip/test/GH-382/defneg3.dat @@ -0,0 +1 @@ +oÌ™Ì?ÌOÌÃÌḩÌÕÌ>ÌÌÌàÌ̹̘ÌÔÌEÌsÌ—ÌÌ4̢̙̑Ì6ÌÌØÌæÌ\ÌÌÌ5̪̲̕ÌmÌÌ–Ìç̺̜ÌÙ̧ÌÌíÌíÌ–ÌÌëÌmÌìÌÎ̵ÌGÌïÌOÌÛÌ ÌÃÌòÌÎÌôÌ„Ì;Ì”ÌýÌ’ÌÓÌÀÌ×Ì,ÌÑÌ¢ÌáÌAÌ9Ì»ÌæÌ‚ÌÂÌsÌý̼ÌÝÌÌÌeÌòÌÝÌUÌuÌí̱ÌËÌwÌùÌ•ÌDÌß̋̽Ìt̞̣̹ÌöÌôÌOÌîÌíÌ…ÌpÌGÌḭ̀ÌÀÌ(ÌÌÌ̤Ì{Ì“ÌßÌïÌÕÌÌøÌÌMÌ#ÌÌí̵ÌdÌ·ÌIÌßÌhÌ_ÌpÌJÌÇÌ¢ÌÎÌÌoÌÌêÌÁÌ;Ì<̘ÌZÌÈÌÑÌoÌW̄̿Ì}ÌáÌÌÌ:Ìá̧̻̕ÌeÌFÌtÌ(ÌEÌoÌàÌpÌÌ¢Ì(Ì;ÌþÌëÌóÌ!̹̹ÌÉÌÌœÌîÌÖÌ4ÌÈÌ3ÌëÌ‹ÌBÌŽÌÆÌuÌPÌ6Ì“ÌþÌ&̦̳̕ÌÁÌðÌ»ÌÌÌTÌÀ̧ÌbÌÌÒÌÕÌëÌ{ÌÆÌ¡ÌÊÌNÌ9ÌÇÌÌBÌÑ
\ No newline at end of file diff --git a/neozip/test/GH-751/test.txt b/neozip/test/GH-751/test.txt new file mode 100644 index 0000000000..ef2143ece8 --- /dev/null +++ b/neozip/test/GH-751/test.txt @@ -0,0 +1 @@ +abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc diff --git a/neozip/test/GH-979/pigz-2.6.tar.gz b/neozip/test/GH-979/pigz-2.6.tar.gz Binary files differnew file mode 100644 index 0000000000..0d76ef8757 --- /dev/null +++ b/neozip/test/GH-979/pigz-2.6.tar.gz diff --git a/neozip/test/Makefile.in b/neozip/test/Makefile.in new file mode 100644 index 0000000000..5b45965926 --- /dev/null +++ b/neozip/test/Makefile.in @@ -0,0 +1,82 @@ +# Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler +# Copyright 2015, Daniel Axtens, IBM Corporation +# zlib license, see zlib.h + +CC= +CFLAGS= +EXE= +SRCDIR= +SRCTOP= +LIBNAME= +TEST_LDFLAGS=-L.. ../$(LIBNAME).a + +EMU_RUN= + +all: alltests + +alltests: #set by ../configure +check_cross_dep: +ifneq (,$(findstring qemu,$(EMU_RUN))) +QEMU_VER:=$(shell command -v $(EMU_RUN) --version 2> /dev/null) +ifeq (,$(QEMU_VER)) +$(error You need QEMU to run tests on non-native platform) +endif +endif + +ALL_SRC_FILES := $(wildcard ../*) + +teststatic: check_cross_dep + @TMPST=tmpst_$$$$; \ + HELLOST=tmphellost_$$$$; \ + if echo hello world | ${EMU_RUN} ../minigzip$(EXE) > $$HELLOST && ${EMU_RUN} ../minigzip$(EXE) -d < $$HELLOST && ${EMU_RUN} ../example$(EXE) $$TMPST; then \ + echo ' *** zlib test OK ***'; \ + else \ + echo ' *** zlib test FAILED ***'; exit 1; \ + fi; \ + rm -f $$TMPST $$HELLOST + +testshared: check_cross_dep + @LD_LIBRARY_PATH=`pwd`/..:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ + LD_LIBRARYN32_PATH=`pwd`/..:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \ + DYLD_LIBRARY_PATH=`pwd`/..:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \ + SHLIB_PATH=`pwd`/..:$(SHLIB_PATH) ; export SHLIB_PATH; \ + TMPSH=tmpsh_$$$$; \ + HELLOSH=tmphellosh_$$$$; \ + if echo hello world | ${EMU_RUN} ../minigzipsh$(EXE) > $$HELLOSH && ${EMU_RUN} ../minigzipsh$(EXE) -d < $$HELLOSH && ${EMU_RUN} ../examplesh$(EXE) $$TMPSH; then \ + echo ' *** zlib shared test OK ***'; \ + else \ + echo ' *** zlib shared test FAILED ***'; exit 1; \ + fi; \ + rm -f $$TMPSH $$HELLOSH + +.PHONY: ghtests +ghtests: testGH-361 testGH-364 testGH-751 testGH-1235 + +.PHONY: testGH-361 +testGH-361: + $(EMU_RUN) ../minigzip$(EXE) -4 <$(SRCDIR)/GH-361/test.txt >/dev/null + +switchlevels$(EXE): $(SRCDIR)/switchlevels.c + $(CC) $(CFLAGS) -I.. -I$(SRCTOP) -o $@ $< $(TEST_LDFLAGS) + +.PHONY: testGH-364 +testGH-364: switchlevels$(EXE) + $(EMU_RUN) ./switchlevels$(EXE) 1 5 9 3 <$(SRCDIR)/GH-364/test.bin >/dev/null + +.PHONY: testGH-751 +testGH-751: + $(EMU_RUN) ../minigzip$(EXE) <$(SRCDIR)/GH-751/test.txt | $(EMU_RUN) ../minigzip$(EXE) -d >/dev/null + +gh1235$(EXE): $(SRCDIR)/gh1235.c + $(CC) $(CFLAGS) -I.. -I$(SRCTOP) -o $@ $< $(TEST_LDFLAGS) + +.PHONY: testGH-1235 +testGH-1235: gh1235$(EXE) + $(EMU_RUN) ./gh1235$(EXE) + +clean: + rm -f *.o *.gcda *.gcno *.gcov + rm -f switchlevels$(EXE) gh1235$(EXE) + +distclean: clean + rm -f Makefile diff --git a/neozip/test/README.md b/neozip/test/README.md new file mode 100644 index 0000000000..d844ba530f --- /dev/null +++ b/neozip/test/README.md @@ -0,0 +1,37 @@ +Contents +-------- + +|Name|Description| +|-|-| +|[CVE-2003-0107](https://nvd.nist.gov/vuln/detail/CVE-2003-0107)|Buffer overflow in the gzprintf function, requires ZLIB_COMPAT| +|[CVE-2002-0059](https://nvd.nist.gov/vuln/detail/CVE-2002-0059)|inflateEnd to release memory more than once| +|[CVE-2004-0797](https://nvd.nist.gov/vuln/detail/CVE-2004-0797)|Error handling in inflate and inflateBack causes crash| +|[CVE-2005-1849](https://nvd.nist.gov/vuln/detail/CVE-2005-1849)|inftrees.h bug causes crash| +|[CVE-2005-2096](https://nvd.nist.gov/vuln/detail/CVE-2005-2096)|Buffer overflow when incomplete code description| +|[CVE-2018-25032](https://nvd.nist.gov/vuln/detail/CVE-2018-25032)|Memory corruption when compressing if the input has many distant matches.| +|[GH-361](https://github.com/zlib-ng/zlib-ng/issues/361)|Test case for overlapping matches| +|[GH-364](https://github.com/zlib-ng/zlib-ng/issues/364)|Test case for switching compression levels| +|[GH-382](https://github.com/zlib-ng/zlib-ng/issues/382)|Test case for deflateEnd returning -3 in deflate quick| + +Copying +------- + +Some of the files in _test_ are licensed differently: + + - test/data/fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. + + - test/data/paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_†by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + https://www.ploscompbiol.org/static/license for more information. + + - test/data/lcet10.txt is from Project Gutenberg. It does not have expired + copyright, but is still in the public domain according to the license information. + (https://www.gutenberg.org/ebooks/53). + + - test/GH-382/defneg3.dat was the smallest file generated by Nathan Moinvaziri + that reproduced GH-382. It is licensed under the terms of the zlib license. diff --git a/neozip/test/abi/ignore b/neozip/test/abi/ignore new file mode 100644 index 0000000000..3329b6c19c --- /dev/null +++ b/neozip/test/abi/ignore @@ -0,0 +1,11 @@ +# See https://sourceware.org/libabigail/manual/libabigail-concepts.html#suppression-specifications + +[suppress_type] + name = internal_state + +[suppress_type] + name_regexp = z_stream.* + +# Size varies with version number +[suppress_variable] + name_regexp = z(|ng|libng)_(|v)string diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-aarch64-unknown-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-aarch64-unknown-linux-gnu.abi new file mode 100644 index 0000000000..cabe281608 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-aarch64-unknown-linux-gnu.abi @@ -0,0 +1,1293 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-arm-aarch64' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux-aarch64.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-5'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='152' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-5' filepath='/usr/aarch64-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/aarch64-linux-gnu/include/sys/types.h' line='85' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-12'/> + <typedef-decl name='uLong' type-id='type-id-9' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-39'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='47616' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='pending' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='gzhead' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='gzindex' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='w_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='w_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='w_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='window_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='head' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='ins_h' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hash_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='hash_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='hash_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='hash_shift' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='match_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='prev_match' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='strstart' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='match_start' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='lookahead' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='prev_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='max_chain_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='max_lazy_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='good_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1696'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20032'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21984'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23232'> + <var-decl name='l_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23424'> + <var-decl name='d_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='bl_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='bl_count' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24064'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42400'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42432'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42464'> + <var-decl name='depth' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='sym_buf' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='lit_bufsize' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='sym_next' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='sym_end' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='opt_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='static_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47424'> + <var-decl name='matches' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='insert' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='bi_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47520'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='high_water' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-45'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='896' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-52'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-44'/> + <typedef-decl name='Pos' type-id='type-id-49' filepath='src.d/deflate.h' line='92' column='1' id='type-id-58'/> + <typedef-decl name='Posf' type-id='type-id-58' filepath='src.d/deflate.h' line='93' column='1' id='type-id-59'/> + <typedef-decl name='alloc_func' type-id='type-id-60' filepath='src.d/zlib.h' line='81' column='1' id='type-id-55'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-61'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-62'/> + <typedef-decl name='deflate_state' type-id='type-id-40' filepath='src.d/deflate.h' line='271' column='1' id='type-id-63'/> + <typedef-decl name='free_func' type-id='type-id-64' filepath='src.d/zlib.h' line='82' column='1' id='type-id-56'/> + <typedef-decl name='gz_header' type-id='type-id-39' filepath='src.d/zlib.h' line='129' column='1' id='type-id-65'/> + <typedef-decl name='gz_headerp' type-id='type-id-66' filepath='src.d/zlib.h' line='131' column='1' id='type-id-42'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-67'/> + <typedef-decl name='uchf' type-id='type-id-67' filepath='src.d/zutil.h' line='40' column='1' id='type-id-68'/> + <typedef-decl name='ulg' type-id='type-id-9' filepath='src.d/zutil.h' line='43' column='1' id='type-id-41'/> + <typedef-decl name='ush' type-id='type-id-69' filepath='src.d/zutil.h' line='41' column='1' id='type-id-49'/> + <typedef-decl name='z_stream' type-id='type-id-52' filepath='src.d/zlib.h' line='106' column='1' id='type-id-70'/> + <typedef-decl name='z_streamp' type-id='type-id-71' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='4584' id='type-id-47'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-37'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='256' id='type-id-46'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-72'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-43'/> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-53'/> + <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-73'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-74'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-50'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-54'/> + <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-48'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/> + <qualified-type-def type-id='type-id-81' const='yes' id='type-id-82'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-51'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-57'/> + <function-decl name='memcpy' filepath='/usr/aarch64-linux-gnu/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='memset' filepath='/usr/aarch64-linux-gnu/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-79' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-76' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-83' filepath='src.d/deflate.h' line='84' column='1' id='type-id-81'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='void' id='type-id-85'/> + <pointer-type-def type-id='type-id-85' id='type-id-84'/> + <function-type size-in-bits='64' id='type-id-80'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-type> + <function-type size-in-bits='64' id='type-id-77'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-57'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-86'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-87' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-88' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-89'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-88'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclose'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/aarch64-linux-gnu/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/aarch64-linux-gnu/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/aarch64-linux-gnu/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='free' filepath='/usr/aarch64-linux-gnu/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/aarch64-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzeof'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzerror'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-76' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-90'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1920' is-struct='yes' naming-typedef-id='type-id-91' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-92'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-86' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-70' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-93'/> + <typedef-decl name='gz_state' type-id='type-id-92' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-91'/> + <typedef-decl name='gz_statep' type-id='type-id-94' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-95'/> + <typedef-decl name='ssize_t' type-id='type-id-93' filepath='/usr/aarch64-linux-gnu/include/sys/types.h' line='108' column='1' id='type-id-96'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-94'/> + <typedef-decl name='voidp' type-id='type-id-84' filepath='./zconf.h' line='416' column='1' id='type-id-97'/> + <function-decl name='__errno_location' filepath='/usr/aarch64-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-76'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/aarch64-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/aarch64-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='close' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzread'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgets'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-53' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='256' is-struct='yes' visibility='default' id='type-id-98'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__stack' type-id='type-id-84' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='__gr_top' type-id='type-id-84' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='__vr_top' type-id='type-id-84' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='__gr_offs' type-id='type-id-20' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='__vr_offs' type-id='type-id-20' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-98' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/13/include/stdarg.h' line='40' column='1' id='type-id-99'/> + <typedef-decl name='va_list' type-id='type-id-99' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/13/include/stdarg.h' line='103' column='1' id='type-id-100'/> + <typedef-decl name='voidpc' type-id='type-id-84' filepath='./zconf.h' line='414' column='1' id='type-id-101'/> + <function-decl name='vsnprintf' filepath='/usr/aarch64-linux-gnu/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-99'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/aarch64-linux-gnu/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='write' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-101' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-101' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputs'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-100' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzflush'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-102' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-103'> + <underlying-type type-id='type-id-104'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-105' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-69' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-106' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-105'/> + <typedef-decl name='codetype' type-id='type-id-103' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-102'/> + <typedef-decl name='in_func' type-id='type-id-107' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-108'/> + <typedef-decl name='out_func' type-id='type-id-109' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-110'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-112'/> + <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-114'/> + <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-116'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-87' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-108' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-84' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-110' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-84' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-112'/> + <parameter type-id='type-id-79'/> + <parameter type-id='type-id-116'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-113'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-87'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-115'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-114'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='2048' id='type-id-120'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-121'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='4096' id='type-id-122'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-123'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='unknown' id='type-id-124'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-125'/> + </array-type-def> + <qualified-type-def type-id='type-id-67' const='yes' id='type-id-119'/> + <var-decl name='_length_code' type-id='type-id-120' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-122' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-126'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-126' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-127' size-in-bits='640' id='type-id-128'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-129'/> + </array-type-def> + <qualified-type-def type-id='type-id-53' const='yes' id='type-id-127'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-128' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabi.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabi.abi new file mode 100644 index 0000000000..13b6e33297 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabi.abi @@ -0,0 +1,1276 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-arm' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux.so.3'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='32' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='47' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-5' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='153' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-6' filepath='/usr/arm-linux-gnueabi/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/arm-linux-gnueabi/include/sys/types.h' line='87' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-9' filepath='./zconf.h' line='399' column='1' id='type-id-11'/> + <typedef-decl name='uLong' type-id='type-id-12' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-12'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-9' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='32' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='32' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <type-decl name='long int' size-in-bits='32' id='type-id-37'/> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='46624' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='pending' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='gzindex' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='w_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='window_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='prev' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='head' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='ins_h' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='hash_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='hash_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='hash_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='hash_shift' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='block_start' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='match_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='prev_match' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strstart' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='match_start' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='lookahead' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='prev_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='max_chain_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='max_lazy_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='good_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='19520'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21472'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22720'> + <var-decl name='l_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22816'> + <var-decl name='d_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22912'> + <var-decl name='bl_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23008'> + <var-decl name='bl_count' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23264'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41600'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41632'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41664'> + <var-decl name='depth' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46272'> + <var-decl name='sym_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46304'> + <var-decl name='lit_bufsize' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46336'> + <var-decl name='sym_next' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46368'> + <var-decl name='sym_end' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46400'> + <var-decl name='opt_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46432'> + <var-decl name='static_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46464'> + <var-decl name='matches' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46496'> + <var-decl name='insert' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46528'> + <var-decl name='bi_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46560'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46592'> + <var-decl name='high_water' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-46'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-9' filepath='src.d/deflate.h' line='94' column='1' id='type-id-45'/> + <typedef-decl name='Pos' type-id='type-id-50' filepath='src.d/deflate.h' line='92' column='1' id='type-id-59'/> + <typedef-decl name='Posf' type-id='type-id-59' filepath='src.d/deflate.h' line='93' column='1' id='type-id-60'/> + <typedef-decl name='alloc_func' type-id='type-id-61' filepath='src.d/zlib.h' line='81' column='1' id='type-id-56'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-62'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-63'/> + <typedef-decl name='deflate_state' type-id='type-id-41' filepath='src.d/deflate.h' line='271' column='1' id='type-id-64'/> + <typedef-decl name='free_func' type-id='type-id-65' filepath='src.d/zlib.h' line='82' column='1' id='type-id-57'/> + <typedef-decl name='gz_header' type-id='type-id-40' filepath='src.d/zlib.h' line='129' column='1' id='type-id-66'/> + <typedef-decl name='gz_headerp' type-id='type-id-67' filepath='src.d/zlib.h' line='131' column='1' id='type-id-43'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-68'/> + <typedef-decl name='uchf' type-id='type-id-68' filepath='src.d/zutil.h' line='40' column='1' id='type-id-69'/> + <typedef-decl name='ulg' type-id='type-id-12' filepath='src.d/zutil.h' line='43' column='1' id='type-id-42'/> + <typedef-decl name='ush' type-id='type-id-70' filepath='src.d/zutil.h' line='41' column='1' id='type-id-50'/> + <typedef-decl name='z_stream' type-id='type-id-53' filepath='src.d/zlib.h' line='106' column='1' id='type-id-71'/> + <typedef-decl name='z_streamp' type-id='type-id-72' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4584' id='type-id-48'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-47'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-73'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-19'/> + <pointer-type-def type-id='type-id-60' size-in-bits='32' id='type-id-44'/> + <pointer-type-def type-id='type-id-28' size-in-bits='32' id='type-id-54'/> + <pointer-type-def type-id='type-id-62' size-in-bits='32' id='type-id-74'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-75'/> + <pointer-type-def type-id='type-id-75' size-in-bits='32' id='type-id-22'/> + <pointer-type-def type-id='type-id-63' size-in-bits='32' id='type-id-51'/> + <pointer-type-def type-id='type-id-64' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-66' size-in-bits='32' id='type-id-67'/> + <pointer-type-def type-id='type-id-20' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-78' size-in-bits='32' id='type-id-61'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-69' size-in-bits='32' id='type-id-49'/> + <pointer-type-def type-id='type-id-9' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-81' size-in-bits='32' id='type-id-65'/> + <pointer-type-def type-id='type-id-71' size-in-bits='32' id='type-id-72'/> + <qualified-type-def type-id='type-id-82' const='yes' id='type-id-83'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-52'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-58'/> + <function-decl name='memcpy' filepath='/usr/arm-linux-gnueabi/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='memset' filepath='/usr/arm-linux-gnueabi/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-80' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-77' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-84' filepath='src.d/deflate.h' line='84' column='1' id='type-id-82'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-58'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='void' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' id='type-id-85'/> + <function-type size-in-bits='32' id='type-id-81'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-type> + <function-type size-in-bits='32' id='type-id-78'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-58'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-87'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-9' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-88' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-89' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-90'/> + <pointer-type-def type-id='type-id-87' size-in-bits='32' id='type-id-89'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclose'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='snprintf' filepath='/usr/arm-linux-gnueabi/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/arm-linux-gnueabi/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='free' filepath='/usr/arm-linux-gnueabi/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/arm-linux-gnueabi/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzeof'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzerror'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-77' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-91'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-92' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-93'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-71' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-20' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='194' column='1' id='type-id-94'/> + <typedef-decl name='gz_state' type-id='type-id-93' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-92'/> + <typedef-decl name='gz_statep' type-id='type-id-95' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-96'/> + <typedef-decl name='ssize_t' type-id='type-id-94' filepath='/usr/arm-linux-gnueabi/include/sys/types.h' line='108' column='1' id='type-id-97'/> + <pointer-type-def type-id='type-id-92' size-in-bits='32' id='type-id-95'/> + <typedef-decl name='voidp' type-id='type-id-85' filepath='./zconf.h' line='416' column='1' id='type-id-98'/> + <function-decl name='__errno_location' filepath='/usr/arm-linux-gnueabi/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-77'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/arm-linux-gnueabi/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/arm-linux-gnueabi/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='close' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzread'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgets'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-54' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='32' is-struct='yes' visibility='default' id='type-id-99'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__ap' type-id='type-id-85' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-99' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/13/include/stdarg.h' line='40' column='1' id='type-id-100'/> + <typedef-decl name='va_list' type-id='type-id-100' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/13/include/stdarg.h' line='103' column='1' id='type-id-101'/> + <typedef-decl name='voidpc' type-id='type-id-85' filepath='./zconf.h' line='414' column='1' id='type-id-102'/> + <function-decl name='vsnprintf' filepath='/usr/arm-linux-gnueabi/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-100'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/arm-linux-gnueabi/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='write' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputs'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-101' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzflush'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-103' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-104'> + <underlying-type type-id='type-id-105'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-106' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-107'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-70' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-107' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-106'/> + <typedef-decl name='codetype' type-id='type-id-104' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-103'/> + <typedef-decl name='in_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-109'/> + <typedef-decl name='out_func' type-id='type-id-110' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-111'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-105'/> + <pointer-type-def type-id='type-id-106' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-112' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-88'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-115'/> + <pointer-type-def type-id='type-id-116' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-117'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-88' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-109' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-85' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-111' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-85' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-113'/> + <parameter type-id='type-id-80'/> + <parameter type-id='type-id-117'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-114'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='32' id='type-id-116'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-9'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-119'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-37'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='2048' id='type-id-121'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='4096' id='type-id-123'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-124'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='unknown' id='type-id-125'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-126'/> + </array-type-def> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-120'/> + <var-decl name='_length_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-123' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-127'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-127' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='320' id='type-id-129'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-130'/> + </array-type-def> + <qualified-type-def type-id='type-id-54' const='yes' id='type-id-128'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-129' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabihf.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabihf.abi new file mode 100644 index 0000000000..620c5535f8 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabihf.abi @@ -0,0 +1,1276 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-arm' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux-armhf.so.3'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='32' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='47' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-5' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='153' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-6' filepath='/usr/arm-linux-gnueabihf/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/arm-linux-gnueabihf/include/sys/types.h' line='87' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-9' filepath='./zconf.h' line='399' column='1' id='type-id-11'/> + <typedef-decl name='uLong' type-id='type-id-12' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-12'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-9' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='32' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='32' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <type-decl name='long int' size-in-bits='32' id='type-id-37'/> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='46624' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='pending' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='gzindex' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='w_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='window_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='prev' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='head' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='ins_h' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='hash_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='hash_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='hash_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='hash_shift' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='block_start' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='match_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='prev_match' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strstart' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='match_start' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='lookahead' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='prev_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='max_chain_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='max_lazy_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='good_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='19520'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21472'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22720'> + <var-decl name='l_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22816'> + <var-decl name='d_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22912'> + <var-decl name='bl_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23008'> + <var-decl name='bl_count' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23264'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41600'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41632'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41664'> + <var-decl name='depth' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46272'> + <var-decl name='sym_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46304'> + <var-decl name='lit_bufsize' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46336'> + <var-decl name='sym_next' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46368'> + <var-decl name='sym_end' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46400'> + <var-decl name='opt_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46432'> + <var-decl name='static_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46464'> + <var-decl name='matches' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46496'> + <var-decl name='insert' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46528'> + <var-decl name='bi_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46560'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46592'> + <var-decl name='high_water' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-46'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-9' filepath='src.d/deflate.h' line='94' column='1' id='type-id-45'/> + <typedef-decl name='Pos' type-id='type-id-50' filepath='src.d/deflate.h' line='92' column='1' id='type-id-59'/> + <typedef-decl name='Posf' type-id='type-id-59' filepath='src.d/deflate.h' line='93' column='1' id='type-id-60'/> + <typedef-decl name='alloc_func' type-id='type-id-61' filepath='src.d/zlib.h' line='81' column='1' id='type-id-56'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-62'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-63'/> + <typedef-decl name='deflate_state' type-id='type-id-41' filepath='src.d/deflate.h' line='271' column='1' id='type-id-64'/> + <typedef-decl name='free_func' type-id='type-id-65' filepath='src.d/zlib.h' line='82' column='1' id='type-id-57'/> + <typedef-decl name='gz_header' type-id='type-id-40' filepath='src.d/zlib.h' line='129' column='1' id='type-id-66'/> + <typedef-decl name='gz_headerp' type-id='type-id-67' filepath='src.d/zlib.h' line='131' column='1' id='type-id-43'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-68'/> + <typedef-decl name='uchf' type-id='type-id-68' filepath='src.d/zutil.h' line='40' column='1' id='type-id-69'/> + <typedef-decl name='ulg' type-id='type-id-12' filepath='src.d/zutil.h' line='43' column='1' id='type-id-42'/> + <typedef-decl name='ush' type-id='type-id-70' filepath='src.d/zutil.h' line='41' column='1' id='type-id-50'/> + <typedef-decl name='z_stream' type-id='type-id-53' filepath='src.d/zlib.h' line='106' column='1' id='type-id-71'/> + <typedef-decl name='z_streamp' type-id='type-id-72' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4584' id='type-id-48'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-47'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-73'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-19'/> + <pointer-type-def type-id='type-id-60' size-in-bits='32' id='type-id-44'/> + <pointer-type-def type-id='type-id-28' size-in-bits='32' id='type-id-54'/> + <pointer-type-def type-id='type-id-62' size-in-bits='32' id='type-id-74'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-75'/> + <pointer-type-def type-id='type-id-75' size-in-bits='32' id='type-id-22'/> + <pointer-type-def type-id='type-id-63' size-in-bits='32' id='type-id-51'/> + <pointer-type-def type-id='type-id-64' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-66' size-in-bits='32' id='type-id-67'/> + <pointer-type-def type-id='type-id-20' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-78' size-in-bits='32' id='type-id-61'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-69' size-in-bits='32' id='type-id-49'/> + <pointer-type-def type-id='type-id-9' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-81' size-in-bits='32' id='type-id-65'/> + <pointer-type-def type-id='type-id-71' size-in-bits='32' id='type-id-72'/> + <qualified-type-def type-id='type-id-82' const='yes' id='type-id-83'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-52'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-58'/> + <function-decl name='memcpy' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='memset' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-80' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-77' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-84' filepath='src.d/deflate.h' line='84' column='1' id='type-id-82'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-58'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='void' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' id='type-id-85'/> + <function-type size-in-bits='32' id='type-id-81'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-type> + <function-type size-in-bits='32' id='type-id-78'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-58'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-87'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-9' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-88' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-89' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-90'/> + <pointer-type-def type-id='type-id-87' size-in-bits='32' id='type-id-89'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclose'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='snprintf' filepath='/usr/arm-linux-gnueabihf/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/arm-linux-gnueabihf/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='free' filepath='/usr/arm-linux-gnueabihf/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzeof'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzerror'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-77' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-91'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-92' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-93'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-71' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-20' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='194' column='1' id='type-id-94'/> + <typedef-decl name='gz_state' type-id='type-id-93' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-92'/> + <typedef-decl name='gz_statep' type-id='type-id-95' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-96'/> + <typedef-decl name='ssize_t' type-id='type-id-94' filepath='/usr/arm-linux-gnueabihf/include/sys/types.h' line='108' column='1' id='type-id-97'/> + <pointer-type-def type-id='type-id-92' size-in-bits='32' id='type-id-95'/> + <typedef-decl name='voidp' type-id='type-id-85' filepath='./zconf.h' line='416' column='1' id='type-id-98'/> + <function-decl name='__errno_location' filepath='/usr/arm-linux-gnueabihf/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-77'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='close' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzread'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgets'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-54' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='32' is-struct='yes' visibility='default' id='type-id-99'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__ap' type-id='type-id-85' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-99' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/13/include/stdarg.h' line='40' column='1' id='type-id-100'/> + <typedef-decl name='va_list' type-id='type-id-100' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/13/include/stdarg.h' line='103' column='1' id='type-id-101'/> + <typedef-decl name='voidpc' type-id='type-id-85' filepath='./zconf.h' line='414' column='1' id='type-id-102'/> + <function-decl name='vsnprintf' filepath='/usr/arm-linux-gnueabihf/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-100'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='write' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputs'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-101' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzflush'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-103' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-104'> + <underlying-type type-id='type-id-105'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-106' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-107'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-70' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-107' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-106'/> + <typedef-decl name='codetype' type-id='type-id-104' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-103'/> + <typedef-decl name='in_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-109'/> + <typedef-decl name='out_func' type-id='type-id-110' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-111'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-105'/> + <pointer-type-def type-id='type-id-106' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-112' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-88'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-115'/> + <pointer-type-def type-id='type-id-116' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-117'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-88' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-109' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-85' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-111' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-85' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-113'/> + <parameter type-id='type-id-80'/> + <parameter type-id='type-id-117'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-114'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='32' id='type-id-116'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-9'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-119'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-37'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='2048' id='type-id-121'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='4096' id='type-id-123'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-124'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='unknown' id='type-id-125'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-126'/> + </array-type-def> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-120'/> + <var-decl name='_length_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-123' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-127'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-127' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='320' id='type-id-129'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-130'/> + </array-type-def> + <qualified-type-def type-id='type-id-54' const='yes' id='type-id-128'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-129' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips-unknown-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips-unknown-linux-gnu.abi new file mode 100644 index 0000000000..2ab253c373 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips-unknown-linux-gnu.abi @@ -0,0 +1,1271 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-mips-r3000-be' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='32' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='47' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-5' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-6' filepath='/usr/mips-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/mips-linux-gnu/include/sys/types.h' line='87' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/mips-linux-gnu/12/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-9' filepath='./zconf.h' line='399' column='1' id='type-id-11'/> + <typedef-decl name='uLong' type-id='type-id-12' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-12'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-9' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='32' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='32' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <type-decl name='long int' size-in-bits='32' id='type-id-37'/> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='46624' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='pending' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='gzindex' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='w_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='window_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='prev' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='head' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='ins_h' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='hash_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='hash_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='hash_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='hash_shift' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='block_start' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='match_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='prev_match' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strstart' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='match_start' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='lookahead' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='prev_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='max_chain_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='max_lazy_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='good_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='19520'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21472'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22720'> + <var-decl name='l_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22816'> + <var-decl name='d_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22912'> + <var-decl name='bl_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23008'> + <var-decl name='bl_count' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23264'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41600'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41632'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41664'> + <var-decl name='depth' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46272'> + <var-decl name='sym_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46304'> + <var-decl name='lit_bufsize' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46336'> + <var-decl name='sym_next' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46368'> + <var-decl name='sym_end' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46400'> + <var-decl name='opt_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46432'> + <var-decl name='static_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46464'> + <var-decl name='matches' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46496'> + <var-decl name='insert' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46528'> + <var-decl name='bi_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46560'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46592'> + <var-decl name='high_water' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-46'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-9' filepath='src.d/deflate.h' line='94' column='1' id='type-id-45'/> + <typedef-decl name='Pos' type-id='type-id-50' filepath='src.d/deflate.h' line='92' column='1' id='type-id-59'/> + <typedef-decl name='Posf' type-id='type-id-59' filepath='src.d/deflate.h' line='93' column='1' id='type-id-60'/> + <typedef-decl name='alloc_func' type-id='type-id-61' filepath='src.d/zlib.h' line='81' column='1' id='type-id-56'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-62'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-63'/> + <typedef-decl name='deflate_state' type-id='type-id-41' filepath='src.d/deflate.h' line='271' column='1' id='type-id-64'/> + <typedef-decl name='free_func' type-id='type-id-65' filepath='src.d/zlib.h' line='82' column='1' id='type-id-57'/> + <typedef-decl name='gz_header' type-id='type-id-40' filepath='src.d/zlib.h' line='129' column='1' id='type-id-66'/> + <typedef-decl name='gz_headerp' type-id='type-id-67' filepath='src.d/zlib.h' line='131' column='1' id='type-id-43'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-68'/> + <typedef-decl name='uchf' type-id='type-id-68' filepath='src.d/zutil.h' line='40' column='1' id='type-id-69'/> + <typedef-decl name='ulg' type-id='type-id-12' filepath='src.d/zutil.h' line='43' column='1' id='type-id-42'/> + <typedef-decl name='ush' type-id='type-id-70' filepath='src.d/zutil.h' line='41' column='1' id='type-id-50'/> + <typedef-decl name='z_stream' type-id='type-id-53' filepath='src.d/zlib.h' line='106' column='1' id='type-id-71'/> + <typedef-decl name='z_streamp' type-id='type-id-72' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4584' id='type-id-48'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-47'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-73'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-19'/> + <pointer-type-def type-id='type-id-60' size-in-bits='32' id='type-id-44'/> + <pointer-type-def type-id='type-id-28' size-in-bits='32' id='type-id-54'/> + <pointer-type-def type-id='type-id-62' size-in-bits='32' id='type-id-74'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-75'/> + <pointer-type-def type-id='type-id-75' size-in-bits='32' id='type-id-22'/> + <pointer-type-def type-id='type-id-63' size-in-bits='32' id='type-id-51'/> + <pointer-type-def type-id='type-id-64' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-66' size-in-bits='32' id='type-id-67'/> + <pointer-type-def type-id='type-id-20' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-78' size-in-bits='32' id='type-id-61'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-69' size-in-bits='32' id='type-id-49'/> + <pointer-type-def type-id='type-id-9' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-81' size-in-bits='32' id='type-id-65'/> + <pointer-type-def type-id='type-id-71' size-in-bits='32' id='type-id-72'/> + <qualified-type-def type-id='type-id-82' const='yes' id='type-id-83'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-52'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-58'/> + <function-decl name='memcpy' filepath='/usr/mips-linux-gnu/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='memset' filepath='/usr/mips-linux-gnu/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-80' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-77' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-84' filepath='src.d/deflate.h' line='84' column='1' id='type-id-82'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-58'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='void' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' id='type-id-85'/> + <function-type size-in-bits='32' id='type-id-81'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-type> + <function-type size-in-bits='32' id='type-id-78'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-58'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-87'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-9' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-88' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-89' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-90'/> + <pointer-type-def type-id='type-id-87' size-in-bits='32' id='type-id-89'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclose'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='snprintf' filepath='/usr/mips-linux-gnu/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/mips-linux-gnu/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='free' filepath='/usr/mips-linux-gnu/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/mips-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/mips-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzeof'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzerror'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-77' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-91'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-92' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-93'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-71' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-20' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-94'/> + <typedef-decl name='gz_state' type-id='type-id-93' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-92'/> + <typedef-decl name='gz_statep' type-id='type-id-95' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-96'/> + <typedef-decl name='ssize_t' type-id='type-id-94' filepath='/usr/mips-linux-gnu/include/sys/types.h' line='108' column='1' id='type-id-97'/> + <pointer-type-def type-id='type-id-92' size-in-bits='32' id='type-id-95'/> + <typedef-decl name='voidp' type-id='type-id-85' filepath='./zconf.h' line='416' column='1' id='type-id-98'/> + <function-decl name='__errno_location' filepath='/usr/mips-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-77'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/mips-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/mips-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='close' filepath='/usr/mips-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/mips-linux-gnu/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzread'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgets'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-54' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpc' type-id='type-id-85' filepath='./zconf.h' line='414' column='1' id='type-id-99'/> + <typedef-decl name='__gnuc_va_list' type-id='type-id-85' filepath='/usr/lib/gcc-cross/mips-linux-gnu/12/include/stdarg.h' line='40' column='1' id='type-id-100'/> + <typedef-decl name='va_list' type-id='type-id-100' filepath='/usr/lib/gcc-cross/mips-linux-gnu/12/include/stdarg.h' line='99' column='1' id='type-id-101'/> + <function-decl name='vsnprintf' filepath='/usr/mips-linux-gnu/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-85'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/mips-linux-gnu/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='write' filepath='/usr/mips-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-99' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-99' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputs'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-101' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzflush'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-102' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-103'> + <underlying-type type-id='type-id-104'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-105' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-70' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-106' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-105'/> + <typedef-decl name='codetype' type-id='type-id-103' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-102'/> + <typedef-decl name='in_func' type-id='type-id-107' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-108'/> + <typedef-decl name='out_func' type-id='type-id-109' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-110'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-111' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-113' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-88'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-115' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-116'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-88' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-108' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-85' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-110' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-85' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-112'/> + <parameter type-id='type-id-80'/> + <parameter type-id='type-id-116'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-113'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='32' id='type-id-115'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-114'/> + <return type-id='type-id-9'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-37'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='2048' id='type-id-120'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-121'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='4096' id='type-id-122'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-123'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='unknown' id='type-id-124'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-125'/> + </array-type-def> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-119'/> + <var-decl name='_length_code' type-id='type-id-120' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-122' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-126'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-126' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-127' size-in-bits='320' id='type-id-128'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-129'/> + </array-type-def> + <qualified-type-def type-id='type-id-54' const='yes' id='type-id-127'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-128' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips64-unknown-linux-gnuabi64.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips64-unknown-linux-gnuabi64.abi new file mode 100644 index 0000000000..cd0d66f5f5 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips64-unknown-linux-gnuabi64.abi @@ -0,0 +1,1276 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-mips-r3000-be' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='153' column='1' id='type-id-5'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='152' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-5' filepath='/usr/mips64-linux-gnuabi64/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/mips64-linux-gnuabi64/include/sys/types.h' line='85' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/12/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-12'/> + <typedef-decl name='uLong' type-id='type-id-9' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <type-decl name='void' id='type-id-28'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-29'/> + <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='1248' id='type-id-31'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-32'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='18336' id='type-id-33'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-34'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-30' size-in-bits='1952' id='type-id-35'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-36'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-37'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-34'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-30'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='47616' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='pending' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='gzhead' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='gzindex' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='w_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='w_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='w_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='window_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='head' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='ins_h' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hash_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='hash_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='hash_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='hash_shift' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='match_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='prev_match' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='strstart' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='match_start' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='lookahead' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='prev_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='max_chain_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='max_lazy_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='good_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1696'> + <var-decl name='dyn_ltree' type-id='type-id-33' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20032'> + <var-decl name='dyn_dtree' type-id='type-id-35' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21984'> + <var-decl name='bl_tree' type-id='type-id-31' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23232'> + <var-decl name='l_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23424'> + <var-decl name='d_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='bl_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='bl_count' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24064'> + <var-decl name='heap' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42400'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42432'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42464'> + <var-decl name='depth' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='sym_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='lit_bufsize' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='sym_next' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='sym_end' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='opt_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='static_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47424'> + <var-decl name='matches' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='insert' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='bi_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47520'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='high_water' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-46'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='896' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-45'/> + <typedef-decl name='Pos' type-id='type-id-50' filepath='src.d/deflate.h' line='92' column='1' id='type-id-59'/> + <typedef-decl name='Posf' type-id='type-id-59' filepath='src.d/deflate.h' line='93' column='1' id='type-id-60'/> + <typedef-decl name='alloc_func' type-id='type-id-61' filepath='src.d/zlib.h' line='81' column='1' id='type-id-56'/> + <typedef-decl name='charf' type-id='type-id-29' filepath='./zconf.h' line='408' column='1' id='type-id-62'/> + <typedef-decl name='ct_data' type-id='type-id-30' filepath='src.d/deflate.h' line='77' column='1' id='type-id-63'/> + <typedef-decl name='deflate_state' type-id='type-id-41' filepath='src.d/deflate.h' line='271' column='1' id='type-id-64'/> + <typedef-decl name='free_func' type-id='type-id-65' filepath='src.d/zlib.h' line='82' column='1' id='type-id-57'/> + <typedef-decl name='gz_header' type-id='type-id-40' filepath='src.d/zlib.h' line='129' column='1' id='type-id-66'/> + <typedef-decl name='gz_headerp' type-id='type-id-67' filepath='src.d/zlib.h' line='131' column='1' id='type-id-43'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-68'/> + <typedef-decl name='uchf' type-id='type-id-68' filepath='src.d/zutil.h' line='40' column='1' id='type-id-69'/> + <typedef-decl name='ulg' type-id='type-id-9' filepath='src.d/zutil.h' line='43' column='1' id='type-id-42'/> + <typedef-decl name='ush' type-id='type-id-70' filepath='src.d/zutil.h' line='41' column='1' id='type-id-50'/> + <typedef-decl name='z_stream' type-id='type-id-53' filepath='src.d/zlib.h' line='106' column='1' id='type-id-71'/> + <typedef-decl name='z_streamp' type-id='type-id-72' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4584' id='type-id-48'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-34'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-47'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-73'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-44'/> + <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-54'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-74'/> + <qualified-type-def type-id='type-id-29' const='yes' id='type-id-75'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-51'/> + <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-67'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-77'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-55'/> + <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-61'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-49'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-80'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-65'/> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/> + <qualified-type-def type-id='type-id-82' const='yes' id='type-id-83'/> + <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-52'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-58'/> + <function-decl name='memcpy' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='memset' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-80' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-77' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-84' filepath='src.d/deflate.h' line='84' column='1' id='type-id-82'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-58'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-28'/> + </function-decl> + <pointer-type-def type-id='type-id-28' id='type-id-85'/> + <function-type size-in-bits='64' id='type-id-81'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-28'/> + </function-type> + <function-type size-in-bits='64' id='type-id-78'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-58'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-86'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-87' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-88' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-89'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-88'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclose'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/mips64-linux-gnuabi64/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/mips64-linux-gnuabi64/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/mips64-linux-gnuabi64/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='free' filepath='/usr/mips64-linux-gnuabi64/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-85'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/mips64-linux-gnuabi64/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzeof'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzerror'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-77' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-28'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-90'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1920' is-struct='yes' naming-typedef-id='type-id-91' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-92'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-86' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-71' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='194' column='1' id='type-id-93'/> + <typedef-decl name='gz_state' type-id='type-id-92' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-91'/> + <typedef-decl name='gz_statep' type-id='type-id-94' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-95'/> + <typedef-decl name='ssize_t' type-id='type-id-93' filepath='/usr/mips64-linux-gnuabi64/include/sys/types.h' line='108' column='1' id='type-id-96'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-94'/> + <typedef-decl name='voidp' type-id='type-id-85' filepath='./zconf.h' line='416' column='1' id='type-id-97'/> + <function-decl name='__errno_location' filepath='/usr/mips64-linux-gnuabi64/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-77'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='close' filepath='/usr/mips64-linux-gnuabi64/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/mips64-linux-gnuabi64/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzread'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgets'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-54' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpc' type-id='type-id-85' filepath='./zconf.h' line='414' column='1' id='type-id-98'/> + <typedef-decl name='__gnuc_va_list' type-id='type-id-85' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/12/include/stdarg.h' line='40' column='1' id='type-id-99'/> + <typedef-decl name='va_list' type-id='type-id-99' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/12/include/stdarg.h' line='99' column='1' id='type-id-100'/> + <function-decl name='vsnprintf' filepath='/usr/mips64-linux-gnuabi64/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-85'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/mips64-linux-gnuabi64/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='write' filepath='/usr/mips64-linux-gnuabi64/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputs'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-100' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzflush'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-101' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-102'> + <underlying-type type-id='type-id-103'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-104' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-105'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-70' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-105' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-104'/> + <typedef-decl name='codetype' type-id='type-id-102' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-101'/> + <typedef-decl name='in_func' type-id='type-id-106' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-107'/> + <typedef-decl name='out_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-109'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-115'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-116'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-87' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-107' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-85' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-109' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-85' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-28'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-115'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-80'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-112'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-87'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-114'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-113'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='2048' id='type-id-119'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-120'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='4096' id='type-id-121'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='unknown' id='type-id-123'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-124'/> + </array-type-def> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-118'/> + <var-decl name='_length_code' type-id='type-id-119' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-125'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-125' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-126' size-in-bits='640' id='type-id-127'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-128'/> + </array-type-def> + <qualified-type-def type-id='type-id-54' const='yes' id='type-id-126'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-127' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc-unknown-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc-unknown-linux-gnu.abi new file mode 100644 index 0000000000..3eefc76467 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc-unknown-linux-gnu.abi @@ -0,0 +1,1286 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-powerpc' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='32' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='47' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-5' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-6' filepath='/usr/powerpc-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/powerpc-linux-gnu/include/sys/types.h' line='87' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/powerpc-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-9' filepath='./zconf.h' line='399' column='1' id='type-id-11'/> + <typedef-decl name='uLong' type-id='type-id-12' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-9'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-12'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-9' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='32' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='32' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32'> + <parameter type-id='type-id-12' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <type-decl name='long int' size-in-bits='32' id='type-id-37'/> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='46624' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='pending' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='gzindex' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='w_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='window_size' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='prev' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='head' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='ins_h' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='hash_size' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='hash_bits' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='hash_mask' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='hash_shift' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='block_start' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='match_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='prev_match' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strstart' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='match_start' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='lookahead' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='prev_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='max_chain_length' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='max_lazy_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='good_match' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='19520'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21472'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22720'> + <var-decl name='l_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22816'> + <var-decl name='d_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22912'> + <var-decl name='bl_desc' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23008'> + <var-decl name='bl_count' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23264'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41600'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41632'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41664'> + <var-decl name='depth' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46272'> + <var-decl name='sym_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46304'> + <var-decl name='lit_bufsize' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46336'> + <var-decl name='sym_next' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46368'> + <var-decl name='sym_end' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46400'> + <var-decl name='opt_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46432'> + <var-decl name='static_len' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46464'> + <var-decl name='matches' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46496'> + <var-decl name='insert' type-id='type-id-11' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46528'> + <var-decl name='bi_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46560'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46592'> + <var-decl name='high_water' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-46'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-9' filepath='src.d/deflate.h' line='94' column='1' id='type-id-45'/> + <typedef-decl name='Pos' type-id='type-id-50' filepath='src.d/deflate.h' line='92' column='1' id='type-id-59'/> + <typedef-decl name='Posf' type-id='type-id-59' filepath='src.d/deflate.h' line='93' column='1' id='type-id-60'/> + <typedef-decl name='alloc_func' type-id='type-id-61' filepath='src.d/zlib.h' line='81' column='1' id='type-id-56'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-62'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-63'/> + <typedef-decl name='deflate_state' type-id='type-id-41' filepath='src.d/deflate.h' line='271' column='1' id='type-id-64'/> + <typedef-decl name='free_func' type-id='type-id-65' filepath='src.d/zlib.h' line='82' column='1' id='type-id-57'/> + <typedef-decl name='gz_header' type-id='type-id-40' filepath='src.d/zlib.h' line='129' column='1' id='type-id-66'/> + <typedef-decl name='gz_headerp' type-id='type-id-67' filepath='src.d/zlib.h' line='131' column='1' id='type-id-43'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-68'/> + <typedef-decl name='uchf' type-id='type-id-68' filepath='src.d/zutil.h' line='40' column='1' id='type-id-69'/> + <typedef-decl name='ulg' type-id='type-id-12' filepath='src.d/zutil.h' line='43' column='1' id='type-id-42'/> + <typedef-decl name='ush' type-id='type-id-70' filepath='src.d/zutil.h' line='41' column='1' id='type-id-50'/> + <typedef-decl name='z_stream' type-id='type-id-53' filepath='src.d/zlib.h' line='106' column='1' id='type-id-71'/> + <typedef-decl name='z_streamp' type-id='type-id-72' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-68' size-in-bits='4584' id='type-id-48'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='256' id='type-id-47'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-73'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-19'/> + <pointer-type-def type-id='type-id-60' size-in-bits='32' id='type-id-44'/> + <pointer-type-def type-id='type-id-28' size-in-bits='32' id='type-id-54'/> + <pointer-type-def type-id='type-id-62' size-in-bits='32' id='type-id-74'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-75'/> + <pointer-type-def type-id='type-id-75' size-in-bits='32' id='type-id-22'/> + <pointer-type-def type-id='type-id-63' size-in-bits='32' id='type-id-51'/> + <pointer-type-def type-id='type-id-64' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-66' size-in-bits='32' id='type-id-67'/> + <pointer-type-def type-id='type-id-20' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-78' size-in-bits='32' id='type-id-61'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-69' size-in-bits='32' id='type-id-49'/> + <pointer-type-def type-id='type-id-9' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-81' size-in-bits='32' id='type-id-65'/> + <pointer-type-def type-id='type-id-71' size-in-bits='32' id='type-id-72'/> + <qualified-type-def type-id='type-id-82' const='yes' id='type-id-83'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-52'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-84'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-58'/> + <function-decl name='memcpy' filepath='/usr/powerpc-linux-gnu/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='memset' filepath='/usr/powerpc-linux-gnu/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-80' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-77' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-84' filepath='src.d/deflate.h' line='84' column='1' id='type-id-82'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-76'/> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-58'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='void' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' id='type-id-85'/> + <function-type size-in-bits='32' id='type-id-81'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-58'/> + <return type-id='type-id-86'/> + </function-type> + <function-type size-in-bits='32' id='type-id-78'> + <parameter type-id='type-id-58'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-58'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-87'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-9' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-88' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-89' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-90'/> + <pointer-type-def type-id='type-id-87' size-in-bits='32' id='type-id-89'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclose'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-90'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='snprintf' filepath='/usr/powerpc-linux-gnu/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc-linux-gnu/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='free' filepath='/usr/powerpc-linux-gnu/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-90'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzeof'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzerror'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-77' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-86'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-91'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-92' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-93'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-54' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-71' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-20' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-94'/> + <typedef-decl name='gz_state' type-id='type-id-93' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-92'/> + <typedef-decl name='gz_statep' type-id='type-id-95' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-96'/> + <typedef-decl name='ssize_t' type-id='type-id-94' filepath='/usr/powerpc-linux-gnu/include/sys/types.h' line='108' column='1' id='type-id-97'/> + <pointer-type-def type-id='type-id-92' size-in-bits='32' id='type-id-95'/> + <typedef-decl name='voidp' type-id='type-id-85' filepath='./zconf.h' line='416' column='1' id='type-id-98'/> + <function-decl name='__errno_location' filepath='/usr/powerpc-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-77'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzread'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-98' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgets'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-54' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-54'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list_tag' size-in-bits='96' is-struct='yes' visibility='default' id='type-id-99'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='gpr' type-id='type-id-2' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='fpr' type-id='type-id-2' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='reserved' type-id='type-id-70' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='overflow_arg_area' type-id='type-id-85' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='reg_save_area' type-id='type-id-85' visibility='default'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-99' size-in-bits='32' id='type-id-100'/> + <typedef-decl name='voidpc' type-id='type-id-85' filepath='./zconf.h' line='414' column='1' id='type-id-101'/> + <function-decl name='vsnprintf' filepath='/usr/powerpc-linux-gnu/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-54'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-100'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/powerpc-linux-gnu/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-97'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-101' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-101' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputc'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputs'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-100' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzflush'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-90' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-102' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-103'> + <underlying-type type-id='type-id-104'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-105' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-70' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-106' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-105'/> + <typedef-decl name='codetype' type-id='type-id-103' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-102'/> + <typedef-decl name='in_func' type-id='type-id-107' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-108'/> + <typedef-decl name='out_func' type-id='type-id-109' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-110'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-111' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-113' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-88'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-115' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-116'/> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-88' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-108' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-85' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-110' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-85' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-112'/> + <parameter type-id='type-id-80'/> + <parameter type-id='type-id-116'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-113'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='32' id='type-id-115'> + <parameter type-id='type-id-85'/> + <parameter type-id='type-id-114'/> + <return type-id='type-id-9'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-85' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-79' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-11' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-43' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-37'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='2048' id='type-id-120'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-121'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='4096' id='type-id-122'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-123'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-119' size-in-bits='unknown' id='type-id-124'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-125'/> + </array-type-def> + <qualified-type-def type-id='type-id-68' const='yes' id='type-id-119'/> + <var-decl name='_length_code' type-id='type-id-120' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-122' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-126'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-126' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-127' size-in-bits='320' id='type-id-128'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-129'/> + </array-type-def> + <qualified-type-def type-id='type-id-54' const='yes' id='type-id-127'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-128' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64-unknown-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64-unknown-linux-gnu.abi new file mode 100644 index 0000000000..34cbcdc593 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64-unknown-linux-gnu.abi @@ -0,0 +1,1275 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-powerpc-64' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-5'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='152' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-5' filepath='/usr/powerpc64-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/powerpc64-linux-gnu/include/sys/types.h' line='85' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-12'/> + <typedef-decl name='uLong' type-id='type-id-9' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-39'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='47616' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='pending' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='gzhead' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='gzindex' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='w_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='w_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='w_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='window_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='head' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='ins_h' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hash_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='hash_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='hash_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='hash_shift' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='match_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='prev_match' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='strstart' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='match_start' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='lookahead' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='prev_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='max_chain_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='max_lazy_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='good_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1696'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20032'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21984'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23232'> + <var-decl name='l_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23424'> + <var-decl name='d_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='bl_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='bl_count' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24064'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42400'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42432'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42464'> + <var-decl name='depth' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='sym_buf' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='lit_bufsize' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='sym_next' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='sym_end' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='opt_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='static_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47424'> + <var-decl name='matches' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='insert' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='bi_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47520'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='high_water' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-45'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='896' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-52'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-44'/> + <typedef-decl name='Pos' type-id='type-id-49' filepath='src.d/deflate.h' line='92' column='1' id='type-id-58'/> + <typedef-decl name='Posf' type-id='type-id-58' filepath='src.d/deflate.h' line='93' column='1' id='type-id-59'/> + <typedef-decl name='alloc_func' type-id='type-id-60' filepath='src.d/zlib.h' line='81' column='1' id='type-id-55'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-61'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-62'/> + <typedef-decl name='deflate_state' type-id='type-id-40' filepath='src.d/deflate.h' line='271' column='1' id='type-id-63'/> + <typedef-decl name='free_func' type-id='type-id-64' filepath='src.d/zlib.h' line='82' column='1' id='type-id-56'/> + <typedef-decl name='gz_header' type-id='type-id-39' filepath='src.d/zlib.h' line='129' column='1' id='type-id-65'/> + <typedef-decl name='gz_headerp' type-id='type-id-66' filepath='src.d/zlib.h' line='131' column='1' id='type-id-42'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-67'/> + <typedef-decl name='uchf' type-id='type-id-67' filepath='src.d/zutil.h' line='40' column='1' id='type-id-68'/> + <typedef-decl name='ulg' type-id='type-id-9' filepath='src.d/zutil.h' line='43' column='1' id='type-id-41'/> + <typedef-decl name='ush' type-id='type-id-69' filepath='src.d/zutil.h' line='41' column='1' id='type-id-49'/> + <typedef-decl name='z_stream' type-id='type-id-52' filepath='src.d/zlib.h' line='106' column='1' id='type-id-70'/> + <typedef-decl name='z_streamp' type-id='type-id-71' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='4584' id='type-id-47'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-37'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='256' id='type-id-46'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-72'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-43'/> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-53'/> + <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-73'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-74'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-50'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-54'/> + <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-48'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/> + <qualified-type-def type-id='type-id-81' const='yes' id='type-id-82'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-51'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-57'/> + <function-decl name='memcpy' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='memset' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-79' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-76' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-83' filepath='src.d/deflate.h' line='84' column='1' id='type-id-81'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='void' id='type-id-85'/> + <pointer-type-def type-id='type-id-85' id='type-id-84'/> + <function-type size-in-bits='64' id='type-id-80'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-type> + <function-type size-in-bits='64' id='type-id-77'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-57'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-86'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-87' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-88' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-89'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-88'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclose'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/powerpc64-linux-gnu/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/powerpc64-linux-gnu/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc64-linux-gnu/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='free' filepath='/usr/powerpc64-linux-gnu/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzeof'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzerror'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-76' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-90'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1920' is-struct='yes' naming-typedef-id='type-id-91' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-92'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-86' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-70' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-93'/> + <typedef-decl name='gz_state' type-id='type-id-92' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-91'/> + <typedef-decl name='gz_statep' type-id='type-id-94' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-95'/> + <typedef-decl name='ssize_t' type-id='type-id-93' filepath='/usr/powerpc64-linux-gnu/include/sys/types.h' line='108' column='1' id='type-id-96'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-94'/> + <typedef-decl name='voidp' type-id='type-id-84' filepath='./zconf.h' line='416' column='1' id='type-id-97'/> + <function-decl name='__errno_location' filepath='/usr/powerpc64-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-76'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzread'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgets'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-53' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-53' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/13/include/stdarg.h' line='40' column='1' id='type-id-98'/> + <typedef-decl name='va_list' type-id='type-id-98' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/13/include/stdarg.h' line='103' column='1' id='type-id-99'/> + <typedef-decl name='voidpc' type-id='type-id-84' filepath='./zconf.h' line='414' column='1' id='type-id-100'/> + <function-decl name='vsnprintf' filepath='/usr/powerpc64-linux-gnu/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-53'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputs'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-99' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzflush'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-101' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-102'> + <underlying-type type-id='type-id-103'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-104' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-105'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-69' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-105' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-104'/> + <typedef-decl name='codetype' type-id='type-id-102' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-101'/> + <typedef-decl name='in_func' type-id='type-id-106' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-107'/> + <typedef-decl name='out_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-109'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-115'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-116'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-87' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-107' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-84' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-109' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-84' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-115'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-79'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-112'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-87'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-114'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-113'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='2048' id='type-id-119'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-120'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='4096' id='type-id-121'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='unknown' id='type-id-123'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-124'/> + </array-type-def> + <qualified-type-def type-id='type-id-67' const='yes' id='type-id-118'/> + <var-decl name='_length_code' type-id='type-id-119' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-125'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-125' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-126' size-in-bits='640' id='type-id-127'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-128'/> + </array-type-def> + <qualified-type-def type-id='type-id-53' const='yes' id='type-id-126'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-127' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64le-unknown-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64le-unknown-linux-gnu.abi new file mode 100644 index 0000000000..e78d9831cc --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64le-unknown-linux-gnu.abi @@ -0,0 +1,1275 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-powerpc-64' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-5'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='152' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-5' filepath='/usr/powerpc64le-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/powerpc64le-linux-gnu/include/sys/types.h' line='85' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-12'/> + <typedef-decl name='uLong' type-id='type-id-9' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-39'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='47616' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='pending' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='gzhead' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='gzindex' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='w_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='w_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='w_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='window_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='head' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='ins_h' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hash_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='hash_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='hash_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='hash_shift' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='match_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='prev_match' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='strstart' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='match_start' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='lookahead' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='prev_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='max_chain_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='max_lazy_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='good_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1696'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20032'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21984'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23232'> + <var-decl name='l_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23424'> + <var-decl name='d_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='bl_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='bl_count' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24064'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42400'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42432'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42464'> + <var-decl name='depth' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='sym_buf' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='lit_bufsize' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='sym_next' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='sym_end' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='opt_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='static_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47424'> + <var-decl name='matches' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='insert' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='bi_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47520'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='high_water' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-45'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='896' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-52'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-44'/> + <typedef-decl name='Pos' type-id='type-id-49' filepath='src.d/deflate.h' line='92' column='1' id='type-id-58'/> + <typedef-decl name='Posf' type-id='type-id-58' filepath='src.d/deflate.h' line='93' column='1' id='type-id-59'/> + <typedef-decl name='alloc_func' type-id='type-id-60' filepath='src.d/zlib.h' line='81' column='1' id='type-id-55'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-61'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-62'/> + <typedef-decl name='deflate_state' type-id='type-id-40' filepath='src.d/deflate.h' line='271' column='1' id='type-id-63'/> + <typedef-decl name='free_func' type-id='type-id-64' filepath='src.d/zlib.h' line='82' column='1' id='type-id-56'/> + <typedef-decl name='gz_header' type-id='type-id-39' filepath='src.d/zlib.h' line='129' column='1' id='type-id-65'/> + <typedef-decl name='gz_headerp' type-id='type-id-66' filepath='src.d/zlib.h' line='131' column='1' id='type-id-42'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-67'/> + <typedef-decl name='uchf' type-id='type-id-67' filepath='src.d/zutil.h' line='40' column='1' id='type-id-68'/> + <typedef-decl name='ulg' type-id='type-id-9' filepath='src.d/zutil.h' line='43' column='1' id='type-id-41'/> + <typedef-decl name='ush' type-id='type-id-69' filepath='src.d/zutil.h' line='41' column='1' id='type-id-49'/> + <typedef-decl name='z_stream' type-id='type-id-52' filepath='src.d/zlib.h' line='106' column='1' id='type-id-70'/> + <typedef-decl name='z_streamp' type-id='type-id-71' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='4584' id='type-id-47'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-37'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='256' id='type-id-46'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-72'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-43'/> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-53'/> + <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-73'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-74'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-50'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-54'/> + <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-48'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/> + <qualified-type-def type-id='type-id-81' const='yes' id='type-id-82'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-51'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-57'/> + <function-decl name='memcpy' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='memset' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-79' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-76' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-83' filepath='src.d/deflate.h' line='84' column='1' id='type-id-81'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='void' id='type-id-85'/> + <pointer-type-def type-id='type-id-85' id='type-id-84'/> + <function-type size-in-bits='64' id='type-id-80'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-type> + <function-type size-in-bits='64' id='type-id-77'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-57'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-86'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-87' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-88' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-89'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-88'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclose'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/powerpc64le-linux-gnu/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/powerpc64le-linux-gnu/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc64le-linux-gnu/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='free' filepath='/usr/powerpc64le-linux-gnu/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzeof'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzerror'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-76' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-90'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1920' is-struct='yes' naming-typedef-id='type-id-91' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-92'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-86' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-70' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-93'/> + <typedef-decl name='gz_state' type-id='type-id-92' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-91'/> + <typedef-decl name='gz_statep' type-id='type-id-94' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-95'/> + <typedef-decl name='ssize_t' type-id='type-id-93' filepath='/usr/powerpc64le-linux-gnu/include/sys/types.h' line='108' column='1' id='type-id-96'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-94'/> + <typedef-decl name='voidp' type-id='type-id-84' filepath='./zconf.h' line='416' column='1' id='type-id-97'/> + <function-decl name='__errno_location' filepath='/usr/powerpc64le-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-76'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzread'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgets'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-53' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-53' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/13/include/stdarg.h' line='40' column='1' id='type-id-98'/> + <typedef-decl name='va_list' type-id='type-id-98' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/13/include/stdarg.h' line='103' column='1' id='type-id-99'/> + <typedef-decl name='voidpc' type-id='type-id-84' filepath='./zconf.h' line='414' column='1' id='type-id-100'/> + <function-decl name='vsnprintf' filepath='/usr/powerpc64le-linux-gnu/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-53'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputs'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-99' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzflush'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-101' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-102'> + <underlying-type type-id='type-id-103'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-104' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-105'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-69' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-105' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-104'/> + <typedef-decl name='codetype' type-id='type-id-102' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-101'/> + <typedef-decl name='in_func' type-id='type-id-106' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-107'/> + <typedef-decl name='out_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-109'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-115'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-116'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-87' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-107' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-84' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-109' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-84' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-115'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-79'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-112'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-87'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-114'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-113'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='2048' id='type-id-119'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-120'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='4096' id='type-id-121'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='unknown' id='type-id-123'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-124'/> + </array-type-def> + <qualified-type-def type-id='type-id-67' const='yes' id='type-id-118'/> + <var-decl name='_length_code' type-id='type-id-119' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-125'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-125' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-126' size-in-bits='640' id='type-id-127'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-128'/> + </array-type-def> + <qualified-type-def type-id='type-id-53' const='yes' id='type-id-126'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-127' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu-m32.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu-m32.abi new file mode 100644 index 0000000000..5b55fc6050 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu-m32.abi @@ -0,0 +1,1270 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-intel-80386' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='32' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='32' id='type-id-1'/> + <type-decl name='long long int' size-in-bits='64' id='type-id-2'/> + <typedef-decl name='Byte' type-id='type-id-3' filepath='./zconf.h' line='397' column='1' id='type-id-4'/> + <typedef-decl name='Bytef' type-id='type-id-4' filepath='./zconf.h' line='406' column='1' id='type-id-5'/> + <typedef-decl name='__int64_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='47' column='1' id='type-id-6'/> + <typedef-decl name='__off64_t' type-id='type-id-6' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-7'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='152' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-7' filepath='/usr/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <typedef-decl name='off_t' type-id='type-id-8' filepath='/usr/include/sys/types.h' line='85' column='1' id='type-id-10'/> + <typedef-decl name='size_t' type-id='type-id-11' filepath='/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-12'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-13'/> + <typedef-decl name='uLong' type-id='type-id-14' filepath='./zconf.h' line='400' column='1' id='type-id-15'/> + <typedef-decl name='z_size_t' type-id='type-id-12' filepath='./zconf.h' line='251' column='1' id='type-id-16'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-3'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-14'/> + <qualified-type-def type-id='type-id-5' const='yes' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-18'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-15' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-18' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32'> + <parameter type-id='type-id-15' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-18' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-13' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-15' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-15' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-15' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-15' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-15' filepath='./zconf.h' line='411' column='1' id='type-id-19'/> + <pointer-type-def type-id='type-id-19' size-in-bits='32' id='type-id-20'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress2'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-20' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-18' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-15' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-22' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compress'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-20' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-18' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-15' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-15' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-24'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-22'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-25'/> + <qualified-type-def type-id='type-id-3' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='32' id='type-id-27'/> + <qualified-type-def type-id='type-id-25' const='yes' id='type-id-28'/> + <pointer-type-def type-id='type-id-28' size-in-bits='32' id='type-id-29'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='get_crc_table'> + <return type-id='type-id-29'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-14' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-27' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32'> + <parameter type-id='type-id-14' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-27' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-13' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-15' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-15' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-15' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-15' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-9' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-10' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-15' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-15' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-15' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-30'/> + <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1248' id='type-id-32'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-11' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='18336' id='type-id-34'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-11' id='type-id-35'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='1952' id='type-id-36'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-11' id='type-id-37'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-22'/> + <array-type-def dimensions='1' type-id='type-id-22' size-in-bits='18336' id='type-id-38'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-11' id='type-id-35'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-31'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-39' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-40' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-41'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-15' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-21' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-21' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-21' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='46624' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-42'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-23' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='status' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='pending' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='wrap' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='gzindex' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='method' type-id='type-id-4' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='last_flush' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='w_size' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_bits' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_mask' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='window_size' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='prev' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='head' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='ins_h' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='hash_size' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='hash_bits' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='hash_mask' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='hash_shift' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='match_length' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='prev_match' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='match_available' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strstart' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='match_start' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='lookahead' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='prev_length' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='max_chain_length' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='max_lazy_match' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='level' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='strategy' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='good_match' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='nice_match' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='dyn_ltree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='19520'> + <var-decl name='dyn_dtree' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21472'> + <var-decl name='bl_tree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22720'> + <var-decl name='l_desc' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22816'> + <var-decl name='d_desc' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22912'> + <var-decl name='bl_desc' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23008'> + <var-decl name='bl_count' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23264'> + <var-decl name='heap' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41600'> + <var-decl name='heap_len' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41632'> + <var-decl name='heap_max' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='41664'> + <var-decl name='depth' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46272'> + <var-decl name='sym_buf' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46304'> + <var-decl name='lit_bufsize' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46336'> + <var-decl name='sym_next' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46368'> + <var-decl name='sym_end' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46400'> + <var-decl name='opt_len' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46432'> + <var-decl name='static_len' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46464'> + <var-decl name='matches' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46496'> + <var-decl name='insert' type-id='type-id-13' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46528'> + <var-decl name='bi_buf' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46560'> + <var-decl name='bi_valid' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46592'> + <var-decl name='high_water' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-47'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-52' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-22' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-53' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-54'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-21' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-15' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-21' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-15' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-58' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-59' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-22' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-15' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-15' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-46'/> + <typedef-decl name='Pos' type-id='type-id-51' filepath='src.d/deflate.h' line='92' column='1' id='type-id-60'/> + <typedef-decl name='Posf' type-id='type-id-60' filepath='src.d/deflate.h' line='93' column='1' id='type-id-61'/> + <typedef-decl name='alloc_func' type-id='type-id-62' filepath='src.d/zlib.h' line='81' column='1' id='type-id-57'/> + <typedef-decl name='charf' type-id='type-id-30' filepath='./zconf.h' line='408' column='1' id='type-id-63'/> + <typedef-decl name='ct_data' type-id='type-id-31' filepath='src.d/deflate.h' line='77' column='1' id='type-id-64'/> + <typedef-decl name='deflate_state' type-id='type-id-42' filepath='src.d/deflate.h' line='271' column='1' id='type-id-65'/> + <typedef-decl name='free_func' type-id='type-id-66' filepath='src.d/zlib.h' line='82' column='1' id='type-id-58'/> + <typedef-decl name='gz_header' type-id='type-id-41' filepath='src.d/zlib.h' line='129' column='1' id='type-id-67'/> + <typedef-decl name='gz_headerp' type-id='type-id-68' filepath='src.d/zlib.h' line='131' column='1' id='type-id-44'/> + <typedef-decl name='uch' type-id='type-id-3' filepath='src.d/zutil.h' line='39' column='1' id='type-id-69'/> + <typedef-decl name='uchf' type-id='type-id-69' filepath='src.d/zutil.h' line='40' column='1' id='type-id-70'/> + <typedef-decl name='ulg' type-id='type-id-14' filepath='src.d/zutil.h' line='43' column='1' id='type-id-43'/> + <typedef-decl name='ush' type-id='type-id-71' filepath='src.d/zutil.h' line='41' column='1' id='type-id-51'/> + <typedef-decl name='z_stream' type-id='type-id-54' filepath='src.d/zlib.h' line='106' column='1' id='type-id-72'/> + <typedef-decl name='z_streamp' type-id='type-id-73' filepath='src.d/zlib.h' line='108' column='1' id='type-id-23'/> + <array-type-def dimensions='1' type-id='type-id-69' size-in-bits='4584' id='type-id-49'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-11' id='type-id-35'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-40'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-39'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-71'/> + <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='256' id='type-id-48'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-11' id='type-id-74'/> + </array-type-def> + <pointer-type-def type-id='type-id-5' size-in-bits='32' id='type-id-21'/> + <pointer-type-def type-id='type-id-61' size-in-bits='32' id='type-id-45'/> + <pointer-type-def type-id='type-id-30' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-63' size-in-bits='32' id='type-id-75'/> + <qualified-type-def type-id='type-id-30' const='yes' id='type-id-76'/> + <pointer-type-def type-id='type-id-76' size-in-bits='32' id='type-id-24'/> + <pointer-type-def type-id='type-id-64' size-in-bits='32' id='type-id-52'/> + <pointer-type-def type-id='type-id-65' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-67' size-in-bits='32' id='type-id-68'/> + <pointer-type-def type-id='type-id-22' size-in-bits='32' id='type-id-78'/> + <pointer-type-def type-id='type-id-42' size-in-bits='32' id='type-id-56'/> + <pointer-type-def type-id='type-id-79' size-in-bits='32' id='type-id-62'/> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-50'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-81'/> + <pointer-type-def type-id='type-id-82' size-in-bits='32' id='type-id-66'/> + <pointer-type-def type-id='type-id-72' size-in-bits='32' id='type-id-73'/> + <qualified-type-def type-id='type-id-83' const='yes' id='type-id-84'/> + <pointer-type-def type-id='type-id-84' size-in-bits='32' id='type-id-53'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-85'/> + <typedef-decl name='voidpf' type-id='type-id-86' filepath='./zconf.h' line='415' column='1' id='type-id-59'/> + <function-decl name='memcpy' filepath='/usr/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='memset' filepath='/usr/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-22' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-22' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-22' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-22' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-24' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-22' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-18' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-13' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-21' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-80' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-44' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-81' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-78' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-22' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-22' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-22' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-22' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-22' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-22' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-22' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-22' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-15' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-23' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-23' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-85' filepath='src.d/deflate.h' line='84' column='1' id='type-id-83'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-77'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-77'/> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-77'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-77'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-77'/> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-18'/> + <parameter type-id='type-id-13'/> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-59'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-59'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-59'/> + <parameter type-id='type-id-59'/> + <return type-id='type-id-87'/> + </function-decl> + <type-decl name='void' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' id='type-id-86'/> + <function-type size-in-bits='32' id='type-id-82'> + <parameter type-id='type-id-59'/> + <parameter type-id='type-id-59'/> + <return type-id='type-id-87'/> + </function-type> + <function-type size-in-bits='32' id='type-id-79'> + <parameter type-id='type-id-59'/> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-13'/> + <return type-id='type-id-59'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-88'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-89' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-90' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-91'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-90'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclose'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-91'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-91'/> + <return type-id='type-id-22'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-24'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-24'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-12'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='free' filepath='/usr/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-86'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-24'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen'> + <parameter type-id='type-id-24' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-24' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-91'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-24' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-24' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-91'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-22' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-24' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-91'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-22' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzseek'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-10' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-22' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gztell'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzeof'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzerror'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-78' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-24'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-87'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-92'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1248' is-struct='yes' naming-typedef-id='type-id-93' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-94'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-88' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-55' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-89' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-89' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='start' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='eof' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='past' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='level' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='strategy' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='reset' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='skip' type-id='type-id-9' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='seek' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='err' type-id='type-id-22' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='msg' type-id='type-id-55' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='strm' type-id='type-id-72' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-22' filepath='/usr/include/bits/types.h' line='194' column='1' id='type-id-95'/> + <typedef-decl name='gz_state' type-id='type-id-94' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-93'/> + <typedef-decl name='gz_statep' type-id='type-id-96' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-97'/> + <typedef-decl name='ssize_t' type-id='type-id-95' filepath='/usr/include/sys/types.h' line='108' column='1' id='type-id-98'/> + <pointer-type-def type-id='type-id-93' size-in-bits='32' id='type-id-96'/> + <typedef-decl name='voidp' type-id='type-id-86' filepath='./zconf.h' line='416' column='1' id='type-id-99'/> + <function-decl name='memchr' filepath='/usr/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='close' filepath='/usr/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='read' filepath='/usr/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-98'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-97'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-24'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzread'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-99' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-99' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-16' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-16' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-22' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzgets'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-55' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-22' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-55'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-24'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-22'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-55' filepath='/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h' line='40' column='1' id='type-id-100'/> + <typedef-decl name='va_list' type-id='type-id-100' filepath='/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h' line='103' column='1' id='type-id-101'/> + <typedef-decl name='voidpc' type-id='type-id-86' filepath='./zconf.h' line='414' column='1' id='type-id-102'/> + <function-decl name='vsnprintf' filepath='/usr/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-24'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-86'/> + </function-decl> + <function-decl name='write' filepath='/usr/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-98'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-102' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-16' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-16' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputc'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-22' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzputs'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-24' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-24' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-101' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-24' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzflush'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-22' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-91' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-22' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-22' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-103' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-104'> + <underlying-type type-id='type-id-105'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-106' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-107'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-3' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-71' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-107' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-106'/> + <typedef-decl name='codetype' type-id='type-id-104' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-103'/> + <typedef-decl name='in_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-109'/> + <typedef-decl name='out_func' type-id='type-id-110' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-111'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-105'/> + <pointer-type-def type-id='type-id-106' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-112' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-3' size-in-bits='32' id='type-id-89'/> + <pointer-type-def type-id='type-id-89' size-in-bits='32' id='type-id-115'/> + <pointer-type-def type-id='type-id-116' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-71' size-in-bits='32' id='type-id-117'/> + <typedef-decl name='voidpf' type-id='type-id-86' filepath='./zconf.h' line='415' column='1' id='type-id-118'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-22' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-89' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-24' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-22' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-109' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-86' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-111' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-86' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-23'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-87'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-113'/> + <parameter type-id='type-id-81'/> + <parameter type-id='type-id-117'/> + <return type-id='type-id-22'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-114'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-89'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-22'/> + </function-type> + <function-type size-in-bits='32' id='type-id-116'> + <parameter type-id='type-id-86'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-86' filepath='./zconf.h' line='415' column='1' id='type-id-119'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-22' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-24' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-22' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-22' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-21' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-80' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-18' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-13' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-44' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-23' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-23' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-22' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-22' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-23' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='2048' id='type-id-121'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-11' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='4096' id='type-id-123'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-11' id='type-id-124'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-120' size-in-bits='unknown' id='type-id-125'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-126'/> + </array-type-def> + <qualified-type-def type-id='type-id-69' const='yes' id='type-id-120'/> + <var-decl name='_length_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-123' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-127'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-20' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-18' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-127' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='uncompress'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-20' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-18' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-15' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-128' size-in-bits='320' id='type-id-129'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-11' id='type-id-130'/> + </array-type-def> + <qualified-type-def type-id='type-id-55' const='yes' id='type-id-128'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibVersion'> + <return type-id='type-id-24'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-15'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zError'> + <parameter type-id='type-id-22' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-24'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-129' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu.abi b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu.abi new file mode 100644 index 0000000000..8152352c19 --- /dev/null +++ b/neozip/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu.abi @@ -0,0 +1,1288 @@ +<abi-corpus version='2.2' path='btmp1/libz.so.1.2.13' architecture='elf-amd-x86_64' soname='libz.so.1'> + <elf-needed> + <dependency name='libc.so.6'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='adler32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='adler32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compress2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='compressBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen64' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_gen' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_combine_op' version='ZLIB_1.2.12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='crc32_z' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateBound' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateCopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateGetDictionary' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePending' version='ZLIB_1.2.5.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflatePrime' version='ZLIB_1.2.0.8' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateSetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='deflateTune' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='get_crc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzbuffer' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclearerr' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_r' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzclose_w' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdirect' version='ZLIB_1.2.2.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzdopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzeof' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfread' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzfwrite' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgetc_' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset64' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzoffset' version='ZLIB_1.2.3.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzopen64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzputs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzread' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzrewind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzseek64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzsetparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gztell64' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzungetc' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzvprintf' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='gzwrite' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBack' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackEnd' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateBackInit_' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCodesUsed' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateCopy' version='ZLIB_1.2.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetDictionary' version='ZLIB_1.2.7.1' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateGetHeader' version='ZLIB_1.2.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateInit_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateMark' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflatePrime' version='ZLIB_1.2.2.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateReset2' version='ZLIB_1.2.3.4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateResetKeep' version='ZLIB_1.2.5.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSetDictionary' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateSyncPoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateUndermine' version='ZLIB_1.2.3.3' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='inflateValidate' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='uncompress2' version='ZLIB_1.2.9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zError' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibCompileFlags' version='ZLIB_1.2.0.2' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <abi-instr address-size='64' path='src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <typedef-decl name='Byte' type-id='type-id-2' filepath='./zconf.h' line='397' column='1' id='type-id-3'/> + <typedef-decl name='Bytef' type-id='type-id-3' filepath='./zconf.h' line='406' column='1' id='type-id-4'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='153' column='1' id='type-id-5'/> + <typedef-decl name='__off_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='152' column='1' id='type-id-6'/> + <typedef-decl name='off64_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='92' column='1' id='type-id-7'/> + <typedef-decl name='off_t' type-id='type-id-6' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='85' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-9' filepath='/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h' line='214' column='1' id='type-id-10'/> + <typedef-decl name='uInt' type-id='type-id-11' filepath='./zconf.h' line='399' column='1' id='type-id-12'/> + <typedef-decl name='uLong' type-id='type-id-9' filepath='./zconf.h' line='400' column='1' id='type-id-13'/> + <typedef-decl name='z_size_t' type-id='type-id-10' filepath='./zconf.h' line='251' column='1' id='type-id-14'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-11'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-9'/> + <qualified-type-def type-id='type-id-4' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-16'/> + <function-decl name='adler32_z' mangled-name='adler32_z' filepath='src.d/adler32.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='64' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='65' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/adler32.c' line='66' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32' mangled-name='adler32' filepath='src.d/adler32.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32'> + <parameter type-id='type-id-13' name='adler' filepath='src.d/adler32.c' line='135' column='1'/> + <parameter type-id='type-id-16' name='buf' filepath='src.d/adler32.c' line='136' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/adler32.c' line='137' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine' mangled-name='adler32_combine' filepath='src.d/adler32.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='173' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='174' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/adler32.c' line='175' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='adler32_combine64' mangled-name='adler32_combine64' filepath='src.d/adler32.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adler32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='adler1' filepath='src.d/adler32.c' line='181' column='1'/> + <parameter type-id='type-id-13' name='adler2' filepath='src.d/adler32.c' line='182' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/adler32.c' line='183' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='uLongf' type-id='type-id-13' filepath='./zconf.h' line='411' column='1' id='type-id-17'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-18'/> + <function-decl name='compress2' mangled-name='compress2' filepath='src.d/compress.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress2'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='23' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='24' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='26' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/compress.c' line='27' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compress' mangled-name='compress' filepath='src.d/compress.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/compress.c' line='69' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/compress.c' line='70' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/compress.c' line='71' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='72' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='compressBound' mangled-name='compressBound' filepath='src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compressBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/compress.c' line='82' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflate' filepath='src.d/zlib.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateEnd' filepath='src.d/zlib.h' line='363' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateInit_' filepath='src.d/zlib.h' line='1781' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/crc32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='z_crc_t' type-id='type-id-11' filepath='./zconf.h' line='435' column='1' id='type-id-23'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-24'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-25'/> + <qualified-type-def type-id='type-id-23' const='yes' id='type-id-26'/> + <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-27'/> + <function-decl name='get_crc_table' mangled-name='get_crc_table' filepath='src.d/crc32.c' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_crc_table'> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='crc32_z' mangled-name='crc32_z' filepath='src.d/crc32.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_z@@ZLIB_1.2.9'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='749' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='750' column='1'/> + <parameter type-id='type-id-14' name='len' filepath='src.d/crc32.c' line='751' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32' mangled-name='crc32' filepath='src.d/crc32.c' line='1072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32'> + <parameter type-id='type-id-9' name='crc' filepath='src.d/crc32.c' line='1073' column='1'/> + <parameter type-id='type-id-25' name='buf' filepath='src.d/crc32.c' line='1074' column='1'/> + <parameter type-id='type-id-12' name='len' filepath='src.d/crc32.c' line='1075' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine64' mangled-name='crc32_combine64' filepath='src.d/crc32.c' line='1081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1082' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1083' column='1'/> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1084' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine' mangled-name='crc32_combine' filepath='src.d/crc32.c' line='1093' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine@@ZLIB_1.2.2'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1094' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1095' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1096' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen64' mangled-name='crc32_combine_gen64' filepath='src.d/crc32.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen64@@ZLIB_1.2.12'> + <parameter type-id='type-id-7' name='len2' filepath='src.d/crc32.c' line='1103' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_gen' mangled-name='crc32_combine_gen' filepath='src.d/crc32.c' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_gen@@ZLIB_1.2.12'> + <parameter type-id='type-id-8' name='len2' filepath='src.d/crc32.c' line='1113' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='crc32_combine_op' mangled-name='crc32_combine_op' filepath='src.d/crc32.c' line='1119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32_combine_op@@ZLIB_1.2.12'> + <parameter type-id='type-id-13' name='crc1' filepath='src.d/crc32.c' line='1120' column='1'/> + <parameter type-id='type-id-13' name='crc2' filepath='src.d/crc32.c' line='1121' column='1'/> + <parameter type-id='type-id-13' name='op' filepath='src.d/crc32.c' line='1122' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-28'/> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1248' id='type-id-30'> + <subrange length='39' lower-bound='0' upper-bound='38' type-id='type-id-9' id='type-id-31'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='18336' id='type-id-32'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-29' size-in-bits='1952' id='type-id-34'> + <subrange length='61' lower-bound='0' upper-bound='60' type-id='type-id-9' id='type-id-35'/> + </array-type-def> + <type-decl name='int' size-in-bits='32' id='type-id-20'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-36'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='68' column='1' id='type-id-29'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-37' visibility='default' filepath='src.d/deflate.h' line='72' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-38' visibility='default' filepath='src.d/deflate.h' line='76' column='1'/> + </data-member> + </class-decl> + <class-decl name='gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='114' column='1' id='type-id-39'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='127' column='1'/> + </data-member> + </class-decl> + <class-decl name='internal_state' size-in-bits='47616' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='100' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-21' visibility='default' filepath='src.d/deflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='status' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_buf' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='pending_out' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='pending' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='106' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='wrap' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='gzhead' type-id='type-id-42' visibility='default' filepath='src.d/deflate.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='gzindex' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='method' type-id='type-id-3' visibility='default' filepath='src.d/deflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='last_flush' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='w_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='w_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='w_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='window' type-id='type-id-19' visibility='default' filepath='src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='window_size' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='head' type-id='type-id-43' visibility='default' filepath='src.d/deflate.h' line='140' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='ins_h' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='142' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hash_size' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='143' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='hash_bits' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='144' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='hash_mask' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='hash_shift' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='147' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='block_start' type-id='type-id-1' visibility='default' filepath='src.d/deflate.h' line='154' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='match_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='159' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='prev_match' type-id='type-id-44' visibility='default' filepath='src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='match_available' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='161' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='strstart' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='162' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='match_start' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='163' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='lookahead' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='164' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='prev_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='max_chain_length' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='171' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='max_lazy_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='good_match' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='nice_match' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='194' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1696'> + <var-decl name='dyn_ltree' type-id='type-id-32' visibility='default' filepath='src.d/deflate.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20032'> + <var-decl name='dyn_dtree' type-id='type-id-34' visibility='default' filepath='src.d/deflate.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='21984'> + <var-decl name='bl_tree' type-id='type-id-30' visibility='default' filepath='src.d/deflate.h' line='200' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23232'> + <var-decl name='l_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23424'> + <var-decl name='d_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='bl_desc' type-id='type-id-45' visibility='default' filepath='src.d/deflate.h' line='204' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='bl_count' type-id='type-id-46' visibility='default' filepath='src.d/deflate.h' line='206' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24064'> + <var-decl name='heap' type-id='type-id-36' visibility='default' filepath='src.d/deflate.h' line='209' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42400'> + <var-decl name='heap_len' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42432'> + <var-decl name='heap_max' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='211' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42464'> + <var-decl name='depth' type-id='type-id-47' visibility='default' filepath='src.d/deflate.h' line='216' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='sym_buf' type-id='type-id-48' visibility='default' filepath='src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='lit_bufsize' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='222' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='sym_next' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='242' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='sym_end' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='243' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='opt_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='245' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='static_len' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='246' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47424'> + <var-decl name='matches' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='247' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='insert' type-id='type-id-12' visibility='default' filepath='src.d/deflate.h' line='248' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='bi_buf' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='255' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47520'> + <var-decl name='bi_valid' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='259' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='high_water' type-id='type-id-41' visibility='default' filepath='src.d/deflate.h' line='264' column='1'/> + </data-member> + </class-decl> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/deflate.h' line='86' column='1' id='type-id-45'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-50' visibility='default' filepath='src.d/deflate.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-20' visibility='default' filepath='src.d/deflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-51' visibility='default' filepath='src.d/deflate.h' line='89' column='1'/> + </data-member> + </class-decl> + <class-decl name='z_stream_s' size-in-bits='896' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='86' column='1' id='type-id-52'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='87' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-19' visibility='default' filepath='src.d/zlib.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-12' visibility='default' filepath='src.d/zlib.h' line='92' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/zlib.h' line='95' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-54' visibility='default' filepath='src.d/zlib.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-55' visibility='default' filepath='src.d/zlib.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-56' visibility='default' filepath='src.d/zlib.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-57' visibility='default' filepath='src.d/zlib.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-20' visibility='default' filepath='src.d/zlib.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='adler' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='reserved' type-id='type-id-13' visibility='default' filepath='src.d/zlib.h' line='105' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='IPos' type-id='type-id-11' filepath='src.d/deflate.h' line='94' column='1' id='type-id-44'/> + <typedef-decl name='Pos' type-id='type-id-49' filepath='src.d/deflate.h' line='92' column='1' id='type-id-58'/> + <typedef-decl name='Posf' type-id='type-id-58' filepath='src.d/deflate.h' line='93' column='1' id='type-id-59'/> + <typedef-decl name='alloc_func' type-id='type-id-60' filepath='src.d/zlib.h' line='81' column='1' id='type-id-55'/> + <typedef-decl name='charf' type-id='type-id-28' filepath='./zconf.h' line='408' column='1' id='type-id-61'/> + <typedef-decl name='ct_data' type-id='type-id-29' filepath='src.d/deflate.h' line='77' column='1' id='type-id-62'/> + <typedef-decl name='deflate_state' type-id='type-id-40' filepath='src.d/deflate.h' line='271' column='1' id='type-id-63'/> + <typedef-decl name='free_func' type-id='type-id-64' filepath='src.d/zlib.h' line='82' column='1' id='type-id-56'/> + <typedef-decl name='gz_header' type-id='type-id-39' filepath='src.d/zlib.h' line='129' column='1' id='type-id-65'/> + <typedef-decl name='gz_headerp' type-id='type-id-66' filepath='src.d/zlib.h' line='131' column='1' id='type-id-42'/> + <typedef-decl name='uch' type-id='type-id-2' filepath='src.d/zutil.h' line='39' column='1' id='type-id-67'/> + <typedef-decl name='uchf' type-id='type-id-67' filepath='src.d/zutil.h' line='40' column='1' id='type-id-68'/> + <typedef-decl name='ulg' type-id='type-id-9' filepath='src.d/zutil.h' line='43' column='1' id='type-id-41'/> + <typedef-decl name='ush' type-id='type-id-69' filepath='src.d/zutil.h' line='41' column='1' id='type-id-49'/> + <typedef-decl name='z_stream' type-id='type-id-52' filepath='src.d/zlib.h' line='106' column='1' id='type-id-70'/> + <typedef-decl name='z_streamp' type-id='type-id-71' filepath='src.d/zlib.h' line='108' column='1' id='type-id-21'/> + <array-type-def dimensions='1' type-id='type-id-67' size-in-bits='4584' id='type-id-47'> + <subrange length='573' lower-bound='0' upper-bound='572' type-id='type-id-9' id='type-id-33'/> + </array-type-def> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='73' column='1' id='type-id-38'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='74' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='75' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='src.d/deflate.h' line='69' column='1' id='type-id-37'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='70' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-49' visibility='default' filepath='src.d/deflate.h' line='71' column='1'/> + </data-member> + </union-decl> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='256' id='type-id-46'> + <subrange length='16' lower-bound='0' upper-bound='15' type-id='type-id-9' id='type-id-72'/> + </array-type-def> + <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-43'/> + <pointer-type-def type-id='type-id-28' size-in-bits='64' id='type-id-53'/> + <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-73'/> + <qualified-type-def type-id='type-id-28' const='yes' id='type-id-74'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-22'/> + <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-50'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-54'/> + <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-60'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-48'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-79'/> + <pointer-type-def type-id='type-id-80' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-71'/> + <qualified-type-def type-id='type-id-81' const='yes' id='type-id-82'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-51'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-57'/> + <function-decl name='memcpy' filepath='/usr/include/string.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='memset' filepath='/usr/include/string.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='deflateInit2_' mangled-name='deflateInit2_' filepath='src.d/deflate.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateInit2_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='239' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='240' column='1'/> + <parameter type-id='type-id-20' name='method' filepath='src.d/deflate.c' line='241' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/deflate.c' line='242' column='1'/> + <parameter type-id='type-id-20' name='memLevel' filepath='src.d/deflate.c' line='243' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='244' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/deflate.c' line='245' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/deflate.c' line='246' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetDictionary' mangled-name='deflateSetDictionary' filepath='src.d/deflate.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='413' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/deflate.c' line='414' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/deflate.c' line='415' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateGetDictionary' mangled-name='deflateGetDictionary' filepath='src.d/deflate.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateGetDictionary@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='482' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/deflate.c' line='483' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/deflate.c' line='484' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateResetKeep' mangled-name='deflateResetKeep' filepath='src.d/deflate.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='504' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateReset' mangled-name='deflateReset' filepath='src.d/deflate.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateReset'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='542' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateSetHeader' mangled-name='deflateSetHeader' filepath='src.d/deflate.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateSetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='554' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/deflate.c' line='555' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePending' mangled-name='deflatePending' filepath='src.d/deflate.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePending@@ZLIB_1.2.5.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='567' column='1'/> + <parameter type-id='type-id-79' name='pending' filepath='src.d/deflate.c' line='565' column='1'/> + <parameter type-id='type-id-76' name='bits' filepath='src.d/deflate.c' line='566' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflatePrime' mangled-name='deflatePrime' filepath='src.d/deflate.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflatePrime@@ZLIB_1.2.0.8'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='579' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/deflate.c' line='580' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/deflate.c' line='581' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateParams' mangled-name='deflateParams' filepath='src.d/deflate.c' line='605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateParams'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='606' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/deflate.c' line='607' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/deflate.c' line='608' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateTune' mangled-name='deflateTune' filepath='src.d/deflate.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateTune@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='655' column='1'/> + <parameter type-id='type-id-20' name='good_length' filepath='src.d/deflate.c' line='656' column='1'/> + <parameter type-id='type-id-20' name='max_lazy' filepath='src.d/deflate.c' line='657' column='1'/> + <parameter type-id='type-id-20' name='nice_length' filepath='src.d/deflate.c' line='658' column='1'/> + <parameter type-id='type-id-20' name='max_chain' filepath='src.d/deflate.c' line='659' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='deflateBound' mangled-name='deflateBound' filepath='src.d/deflate.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateBound@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/deflate.c' line='697' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/deflate.c' line='698' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='deflateCopy' mangled-name='deflateCopy' filepath='src.d/deflate.c' line='1156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deflateCopy'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/deflate.c' line='1157' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/deflate.c' line='1158' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <typedef-decl name='static_tree_desc' type-id='type-id-83' filepath='src.d/deflate.h' line='84' column='1' id='type-id-81'/> + <function-decl name='_tr_init' filepath='src.d/deflate.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_block' filepath='src.d/deflate.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_flush_bits' filepath='src.d/deflate.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_align' filepath='src.d/deflate.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='_tr_stored_block' filepath='src.d/deflate.h' line='300' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-75'/> + <parameter type-id='type-id-73'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='crc32' filepath='src.d/zlib.h' line='1727' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-13'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zcalloc' filepath='src.d/zutil.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zcfree' filepath='src.d/zutil.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='void' id='type-id-85'/> + <pointer-type-def type-id='type-id-85' id='type-id-84'/> + <function-type size-in-bits='64' id='type-id-80'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-57'/> + <return type-id='type-id-85'/> + </function-type> + <function-type size-in-bits='64' id='type-id-77'> + <parameter type-id='type-id-57'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-57'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzclose.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='src.d/zlib.h' line='1834' column='1' id='type-id-86'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-11' visibility='default' filepath='src.d/zlib.h' line='1835' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-87' visibility='default' filepath='src.d/zlib.h' line='1836' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-7' visibility='default' filepath='src.d/zlib.h' line='1837' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gzFile' type-id='type-id-88' filepath='src.d/zlib.h' line='1302' column='1' id='type-id-89'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-88'/> + <function-decl name='gzclose' mangled-name='gzclose' filepath='src.d/gzclose.c' line='11' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclose'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzclose.c' line='12' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_r' filepath='src.d/zlib.h' line='1644' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzclose_w' filepath='src.d/zlib.h' line='1645' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='open' filepath='/usr/include/fcntl.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='snprintf' filepath='/usr/include/stdio.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='672' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='free' filepath='/usr/include/stdlib.h' line='687' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-22'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='gzopen' mangled-name='gzopen' filepath='src.d/gzlib.c' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='273' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='274' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzopen64' mangled-name='gzopen64' filepath='src.d/gzlib.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzopen64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-22' name='path' filepath='src.d/gzlib.c' line='281' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='282' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzdopen' mangled-name='gzdopen' filepath='src.d/gzlib.c' line='288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdopen'> + <parameter type-id='type-id-20' name='fd' filepath='src.d/gzlib.c' line='289' column='1'/> + <parameter type-id='type-id-22' name='mode' filepath='src.d/gzlib.c' line='290' column='1'/> + <return type-id='type-id-89'/> + </function-decl> + <function-decl name='gzbuffer' mangled-name='gzbuffer' filepath='src.d/gzlib.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzbuffer@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='319' column='1'/> + <parameter type-id='type-id-11' name='size' filepath='src.d/gzlib.c' line='320' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzrewind' mangled-name='gzrewind' filepath='src.d/gzlib.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzrewind'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='346' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzseek64' mangled-name='gzseek64' filepath='src.d/gzlib.c' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='369' column='1'/> + <parameter type-id='type-id-7' name='offset' filepath='src.d/gzlib.c' line='370' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='371' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzseek' mangled-name='gzseek' filepath='src.d/gzlib.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzseek'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='446' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='src.d/gzlib.c' line='447' column='1'/> + <parameter type-id='type-id-20' name='whence' filepath='src.d/gzlib.c' line='448' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gztell64' mangled-name='gztell64' filepath='src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell64@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='458' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gztell' mangled-name='gztell' filepath='src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gztell'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='475' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzoffset64' mangled-name='gzoffset64' filepath='src.d/gzlib.c' line='484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset64@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='485' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='gzoffset' mangled-name='gzoffset' filepath='src.d/gzlib.c' line='507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzoffset@@ZLIB_1.2.3.5'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='508' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='gzeof' mangled-name='gzeof' filepath='src.d/gzlib.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzeof'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='518' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzerror' mangled-name='gzerror' filepath='src.d/gzlib.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzerror'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='535' column='1'/> + <parameter type-id='type-id-76' name='errnum' filepath='src.d/gzlib.c' line='536' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='gzclearerr' mangled-name='gzclearerr' filepath='src.d/gzlib.c' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzclearerr@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzlib.c' line='556' column='1'/> + <return type-id='type-id-85'/> + </function-decl> + <type-decl name='variadic parameter type' id='type-id-90'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1920' is-struct='yes' naming-typedef-id='type-id-91' visibility='default' filepath='src.d/gzguts.h' line='170' column='1' id='type-id-92'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-86' visibility='default' filepath='src.d/gzguts.h' line='172' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='180' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-11' visibility='default' filepath='src.d/gzguts.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='182' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-87' visibility='default' filepath='src.d/gzguts.h' line='183' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='184' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='187' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='188' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='189' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='192' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='193' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-7' visibility='default' filepath='src.d/gzguts.h' line='195' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='196' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-20' visibility='default' filepath='src.d/gzguts.h' line='198' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-53' visibility='default' filepath='src.d/gzguts.h' line='199' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-70' visibility='default' filepath='src.d/gzguts.h' line='201' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='194' column='1' id='type-id-93'/> + <typedef-decl name='gz_state' type-id='type-id-92' filepath='src.d/gzguts.h' line='202' column='1' id='type-id-91'/> + <typedef-decl name='gz_statep' type-id='type-id-94' filepath='src.d/gzguts.h' line='203' column='1' id='type-id-95'/> + <typedef-decl name='ssize_t' type-id='type-id-93' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='108' column='1' id='type-id-96'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-94'/> + <typedef-decl name='voidp' type-id='type-id-84' filepath='./zconf.h' line='416' column='1' id='type-id-97'/> + <function-decl name='__errno_location' filepath='/usr/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-76'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='close' filepath='/usr/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='read' filepath='/usr/include/unistd.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gz_error' filepath='src.d/gzguts.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='gzread' mangled-name='gzread' filepath='src.d/gzread.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzread'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='374' column='1'/> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='375' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzread.c' line='376' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfread' mangled-name='gzfread' filepath='src.d/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfread@@ZLIB_1.2.9'> + <parameter type-id='type-id-97' name='buf' filepath='src.d/gzread.c' line='410' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzread.c' line='411' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzread.c' line='412' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='413' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzgetc' mangled-name='gzgetc' filepath='src.d/gzread.c' line='445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='446' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgetc_' mangled-name='gzgetc_' filepath='src.d/gzread.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgetc_@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='473' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzungetc' mangled-name='gzungetc' filepath='src.d/gzread.c' line='479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzungetc@@ZLIB_1.2.0.2'> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzread.c' line='480' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='481' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzgets' mangled-name='gzgets' filepath='src.d/gzread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzgets'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='540' column='1'/> + <parameter type-id='type-id-53' name='buf' filepath='src.d/gzread.c' line='541' column='1'/> + <parameter type-id='type-id-20' name='len' filepath='src.d/gzread.c' line='542' column='1'/> + <return type-id='type-id-53'/> + </function-decl> + <function-decl name='gzdirect' mangled-name='gzdirect' filepath='src.d/gzread.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzdirect@@ZLIB_1.2.2.3'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzread.c' line='604' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate' filepath='src.d/zlib.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateEnd' filepath='src.d/zlib.h' line='520' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset' filepath='src.d/zlib.h' line='959' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit2_' filepath='src.d/zlib.h' line='1789' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-98'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='gp_offset' type-id='type-id-11' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='fp_offset' type-id='type-id-11' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='overflow_arg_area' type-id='type-id-84' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='reg_save_area' type-id='type-id-84' visibility='default'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/> + <typedef-decl name='voidpc' type-id='type-id-84' filepath='./zconf.h' line='414' column='1' id='type-id-100'/> + <function-decl name='vsnprintf' filepath='/usr/include/stdio.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-53'/> + <parameter type-id='type-id-10'/> + <parameter type-id='type-id-22'/> + <parameter type-id='type-id-99'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='memmove' filepath='/usr/include/string.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-84'/> + </function-decl> + <function-decl name='write' filepath='/usr/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-20'/> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-10'/> + <return type-id='type-id-96'/> + </function-decl> + <function-decl name='gzwrite' mangled-name='gzwrite' filepath='src.d/gzwrite.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzwrite'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='256' column='1'/> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='257' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzfwrite' mangled-name='gzfwrite' filepath='src.d/gzwrite.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzfwrite@@ZLIB_1.2.9'> + <parameter type-id='type-id-100' name='buf' filepath='src.d/gzwrite.c' line='284' column='1'/> + <parameter type-id='type-id-14' name='size' filepath='src.d/gzwrite.c' line='285' column='1'/> + <parameter type-id='type-id-14' name='nitems' filepath='src.d/gzwrite.c' line='286' column='1'/> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-14'/> + </function-decl> + <function-decl name='gzputc' mangled-name='gzputc' filepath='src.d/gzwrite.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputc'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='314' column='1'/> + <parameter type-id='type-id-20' name='c' filepath='src.d/gzwrite.c' line='315' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzputs' mangled-name='gzputs' filepath='src.d/gzwrite.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzputs'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='362' column='1'/> + <parameter type-id='type-id-22' name='s' filepath='src.d/gzwrite.c' line='363' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzvprintf' mangled-name='gzvprintf' filepath='src.d/gzwrite.c' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzvprintf@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='391' column='1'/> + <parameter type-id='type-id-99' name='va' filepath='src.d/gzwrite.c' line='391' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzprintf' mangled-name='gzprintf' filepath='src.d/gzwrite.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzprintf'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter type-id='type-id-22' name='format' filepath='src.d/gzwrite.c' line='463' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzflush' mangled-name='gzflush' filepath='src.d/gzwrite.c' line='565' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzflush'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='566' column='1'/> + <parameter type-id='type-id-20' name='flush' filepath='src.d/gzwrite.c' line='567' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='gzsetparams' mangled-name='gzsetparams' filepath='src.d/gzwrite.c' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gzsetparams'> + <parameter type-id='type-id-89' name='file' filepath='src.d/gzwrite.c' line='598' column='1'/> + <parameter type-id='type-id-20' name='level' filepath='src.d/gzwrite.c' line='599' column='1'/> + <parameter type-id='type-id-20' name='strategy' filepath='src.d/gzwrite.c' line='600' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <enum-decl name='codetype' naming-typedef-id='type-id-101' filepath='src.d/inftrees.h' line='54' column='1' id='type-id-102'> + <underlying-type type-id='type-id-103'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-104' visibility='default' filepath='src.d/inftrees.h' line='24' column='1' id='type-id-105'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='src.d/inftrees.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-69' visibility='default' filepath='src.d/inftrees.h' line='27' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-105' filepath='src.d/inftrees.h' line='28' column='1' id='type-id-104'/> + <typedef-decl name='codetype' type-id='type-id-102' filepath='src.d/inftrees.h' line='58' column='1' id='type-id-101'/> + <typedef-decl name='in_func' type-id='type-id-106' filepath='src.d/zlib.h' line='1094' column='1' id='type-id-107'/> + <typedef-decl name='out_func' type-id='type-id-108' filepath='src.d/zlib.h' line='1096' column='1' id='type-id-109'/> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-104' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='64' id='type-id-113'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-115'/> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-116'/> + <function-decl name='inflateBackInit_' mangled-name='inflateBackInit_' filepath='src.d/infback.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackInit_@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='29' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/infback.c' line='30' column='1'/> + <parameter type-id='type-id-87' name='window' filepath='src.d/infback.c' line='31' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/infback.c' line='32' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/infback.c' line='33' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBack' mangled-name='inflateBack' filepath='src.d/infback.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBack@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='252' column='1'/> + <parameter type-id='type-id-107' name='in' filepath='src.d/infback.c' line='253' column='1'/> + <parameter type-id='type-id-84' name='in_desc' filepath='src.d/infback.c' line='254' column='1'/> + <parameter type-id='type-id-109' name='out' filepath='src.d/infback.c' line='255' column='1'/> + <parameter type-id='type-id-84' name='out_desc' filepath='src.d/infback.c' line='256' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateBackEnd' mangled-name='inflateBackEnd' filepath='src.d/infback.c' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateBackEnd@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/infback.c' line='636' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflate_fast' filepath='src.d/inffast.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-21'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-85'/> + </function-decl> + <function-decl name='inflate_table' filepath='src.d/inftrees.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-115'/> + <parameter type-id='type-id-11'/> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-79'/> + <parameter type-id='type-id-115'/> + <return type-id='type-id-20'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-112'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-87'/> + <parameter type-id='type-id-11'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-114'> + <parameter type-id='type-id-84'/> + <parameter type-id='type-id-113'/> + <return type-id='type-id-11'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='voidpf' type-id='type-id-84' filepath='./zconf.h' line='415' column='1' id='type-id-117'/> + <function-decl name='inflateResetKeep' mangled-name='inflateResetKeep' filepath='src.d/inflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateResetKeep@@ZLIB_1.2.5.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='120' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateReset2' mangled-name='inflateReset2' filepath='src.d/inflate.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateReset2@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='159' column='1'/> + <parameter type-id='type-id-20' name='windowBits' filepath='src.d/inflate.c' line='160' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateInit_' mangled-name='inflateInit_' filepath='src.d/inflate.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateInit_'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='243' column='1'/> + <parameter type-id='type-id-22' name='version' filepath='src.d/inflate.c' line='244' column='1'/> + <parameter type-id='type-id-20' name='stream_size' filepath='src.d/inflate.c' line='245' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflatePrime' mangled-name='inflatePrime' filepath='src.d/inflate.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflatePrime@@ZLIB_1.2.2.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='251' column='1'/> + <parameter type-id='type-id-20' name='bits' filepath='src.d/inflate.c' line='252' column='1'/> + <parameter type-id='type-id-20' name='value' filepath='src.d/inflate.c' line='253' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetDictionary' mangled-name='inflateGetDictionary' filepath='src.d/inflate.c' line='1318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetDictionary@@ZLIB_1.2.7.1'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1319' column='1'/> + <parameter type-id='type-id-19' name='dictionary' filepath='src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-78' name='dictLength' filepath='src.d/inflate.c' line='1321' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSetDictionary' mangled-name='inflateSetDictionary' filepath='src.d/inflate.c' line='1341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSetDictionary'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1342' column='1'/> + <parameter type-id='type-id-16' name='dictionary' filepath='src.d/inflate.c' line='1343' column='1'/> + <parameter type-id='type-id-12' name='dictLength' filepath='src.d/inflate.c' line='1344' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateGetHeader' mangled-name='inflateGetHeader' filepath='src.d/inflate.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateGetHeader@@ZLIB_1.2.2'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1377' column='1'/> + <parameter type-id='type-id-42' name='head' filepath='src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSync' mangled-name='inflateSync' filepath='src.d/inflate.c' line='1427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSync'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1428' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateSyncPoint' mangled-name='inflateSyncPoint' filepath='src.d/inflate.c' line='1485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateSyncPoint'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1486' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateCopy' mangled-name='inflateCopy' filepath='src.d/inflate.c' line='1495' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCopy@@ZLIB_1.2.0'> + <parameter type-id='type-id-21' name='dest' filepath='src.d/inflate.c' line='1496' column='1'/> + <parameter type-id='type-id-21' name='source' filepath='src.d/inflate.c' line='1497' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateUndermine' mangled-name='inflateUndermine' filepath='src.d/inflate.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateUndermine@@ZLIB_1.2.3.3'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1543' column='1'/> + <parameter type-id='type-id-20' name='subvert' filepath='src.d/inflate.c' line='1544' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateValidate' mangled-name='inflateValidate' filepath='src.d/inflate.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateValidate@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1561' column='1'/> + <parameter type-id='type-id-20' name='check' filepath='src.d/inflate.c' line='1562' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='inflateMark' mangled-name='inflateMark' filepath='src.d/inflate.c' line='1575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateMark@@ZLIB_1.2.3.4'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1576' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='inflateCodesUsed' mangled-name='inflateCodesUsed' filepath='src.d/inflate.c' line='1588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inflateCodesUsed@@ZLIB_1.2.9'> + <parameter type-id='type-id-21' name='strm' filepath='src.d/inflate.c' line='1589' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='2048' id='type-id-119'> + <subrange length='256' lower-bound='0' upper-bound='255' type-id='type-id-9' id='type-id-120'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='4096' id='type-id-121'> + <subrange length='512' lower-bound='0' upper-bound='511' type-id='type-id-9' id='type-id-122'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-118' size-in-bits='unknown' id='type-id-123'> + <subrange length='unknown' lower-bound='0' upper-bound='0' id='type-id-124'/> + </array-type-def> + <qualified-type-def type-id='type-id-67' const='yes' id='type-id-118'/> + <var-decl name='_length_code' type-id='type-id-119' visibility='default' filepath='src.d/deflate.h' line='317' column='1'/> + <var-decl name='_dist_code' type-id='type-id-121' visibility='default' filepath='src.d/deflate.h' line='318' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-125'/> + <function-decl name='uncompress2' mangled-name='uncompress2' filepath='src.d/uncompr.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress2@@ZLIB_1.2.9'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='28' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='29' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='30' column='1'/> + <parameter type-id='type-id-125' name='sourceLen' filepath='src.d/uncompr.c' line='31' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='uncompress' mangled-name='uncompress' filepath='src.d/uncompr.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uncompress'> + <parameter type-id='type-id-19' name='dest' filepath='src.d/uncompr.c' line='87' column='1'/> + <parameter type-id='type-id-18' name='destLen' filepath='src.d/uncompr.c' line='88' column='1'/> + <parameter type-id='type-id-16' name='source' filepath='src.d/uncompr.c' line='89' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='src.d/uncompr.c' line='90' column='1'/> + <return type-id='type-id-20'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-126' size-in-bits='640' id='type-id-127'> + <subrange length='10' lower-bound='0' upper-bound='9' type-id='type-id-9' id='type-id-128'/> + </array-type-def> + <qualified-type-def type-id='type-id-53' const='yes' id='type-id-126'/> + <function-decl name='zlibVersion' mangled-name='zlibVersion' filepath='src.d/zutil.c' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibVersion'> + <return type-id='type-id-22'/> + </function-decl> + <function-decl name='zlibCompileFlags' mangled-name='zlibCompileFlags' filepath='src.d/zutil.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibCompileFlags@@ZLIB_1.2.0.2'> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zError' mangled-name='zError' filepath='src.d/zutil.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zError'> + <parameter type-id='type-id-20' name='err' filepath='src.d/zutil.c' line='136' column='1'/> + <return type-id='type-id-22'/> + </function-decl> + <var-decl name='z_errmsg' type-id='type-id-127' visibility='default' filepath='src.d/zutil.h' line='56' column='1'/> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-aarch64-unknown-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-aarch64-unknown-linux-gnu.abi new file mode 100644 index 0000000000..cfc0eddc62 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-aarch64-unknown-linux-gnu.abi @@ -0,0 +1,1904 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-arm-aarch64' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux-aarch64.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/aarch64-linux-gnu/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-7'/> + <typedef-decl name='off64_t' type-id='type-id-7' filepath='/usr/aarch64-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-4' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/> + <function-decl name='zng_adler32_z' mangled-name='zng_adler32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='void' id='type-id-12'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-13'/> + <class-decl name='internal_state' size-in-bits='48512' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-14'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='gzhead' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='status' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='last_flush' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='reproducible' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='block_open' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='head' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='block_start' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='prev_match' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='match_available' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='update_hash' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='quick_insert_string' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='nice_match' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <var-decl name='dyn_ltree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20416'> + <var-decl name='dyn_dtree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22368'> + <var-decl name='bl_tree' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='l_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='d_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24000'> + <var-decl name='bl_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24192'> + <var-decl name='bl_count' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24448'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42784'> + <var-decl name='heap_len' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42816'> + <var-decl name='heap_max' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42848'> + <var-decl name='depth' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='sym_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47584'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47616'> + <var-decl name='opt_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47680'> + <var-decl name='static_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47744'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47776'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47808'> + <var-decl name='compressed_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47872'> + <var-decl name='bits_sent' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47936'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48000'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48064'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48096'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-17'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='832' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reserved' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-46'/> + <typedef-decl name='int32_t' type-id='type-id-47' filepath='/usr/aarch64-linux-gnu/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-48' filepath='/usr/aarch64-linux-gnu/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-49'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='38' column='1' id='type-id-48'/> + <typedef-decl name='__int32_t' type-id='type-id-17' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='41' column='1' id='type-id-47'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-50'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-43'/> + <qualified-type-def type-id='type-id-49' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-41'/> + <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-44'/> + <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-52'/> + <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-16'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-38'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-45'/> + <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-36'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-15'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-53'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-54'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='arm_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.h' line='11' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-55'/> + <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-56'/> + </function-decl> + <function-decl name='zng_crc32_z' mangled-name='zng_crc32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-55' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1248' id='type-id-27'> + <subrange length='39' type-id='type-id-4' id='type-id-59'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='18336' id='type-id-25'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1952' id='type-id-26'> + <subrange length='61' type-id='type-id-4' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-4' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='256' id='type-id-29'> + <subrange length='16' type-id='type-id-4' id='type-id-64'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='512' id='type-id-65'> + <subrange length='64' type-id='type-id-4' id='type-id-66'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-67'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-31'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-68'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-24'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-58'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-69'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-70'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-71'/> + <typedef-decl name='static_tree_desc' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-72'/> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-73' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-63' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-20'/> + <typedef-decl name='deflate_state' type-id='type-id-14' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-75'/> + <typedef-decl name='update_hash_cb' type-id='type-id-76' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-21'/> + <typedef-decl name='insert_string_cb' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-22'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-23'/> + <enum-decl name='block_state' naming-typedef-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-80'> + <underlying-type type-id='type-id-67'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-79'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-81'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-82'/> + <class-decl name='zng_gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-83'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-83' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-84'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-18'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-86' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-87'> + <underlying-type type-id='type-id-67'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-86'/> + <class-decl name='zng_deflate_param_value' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-89'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-86' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='buf' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-88'/> + <typedef-decl name='uint16_t' type-id='type-id-90' filepath='/usr/aarch64-linux-gnu/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-63'/> + <typedef-decl name='uint64_t' type-id='type-id-91' filepath='/usr/aarch64-linux-gnu/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-68' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='40' column='1' id='type-id-90'/> + <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='45' column='1' id='type-id-91'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-32'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-92'/> + <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-74'/> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-93'/> + <qualified-type-def type-id='type-id-93' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-77'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-98' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-95' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-4' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-9' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-9' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-100'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-96'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-97'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-99'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-24' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-103'/> + <class-decl name='functable_s' size-in-bits='1088' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-104'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='adler32_fold_copy' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_reset' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='crc32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='crc32_fold' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='crc32_fold_final' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='compare256' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='chunksize' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='chunkmemset_safe' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='inflate_fast' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='insert_string' type-id='type-id-77' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='longest_match' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='longest_match_slow' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='quick_insert_string' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='slide_hash' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='update_hash' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-116'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-117'/> + <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-114'/> + <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-105'/> + <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-112'/> + <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-115'/> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-113'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='30' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunksize_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='inflate_fast_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='165' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='longest_match_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='186' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='208' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='quick_insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='219' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='slide_hash_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='update_hash_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='245' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <var-decl name='functable' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='64' id='type-id-118'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-119'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-120'> + <parameter type-id='type-id-117'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-121'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-122'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-123'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-124'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-type> + <function-type size-in-bits='64' id='type-id-125'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-126'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-127'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-128'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-129'/> + <typedef-decl name='gzFile' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-131'/> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-132'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-130'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-133'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-43' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-17' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-133' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/aarch64-linux-gnu/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/aarch64-linux-gnu/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/aarch64-linux-gnu/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/aarch64-linux-gnu/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-9'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/aarch64-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-7'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='256' is-struct='yes' visibility='default' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__stack' type-id='type-id-45' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='__gr_top' type-id='type-id-45' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='__vr_top' type-id='type-id-45' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='__gr_offs' type-id='type-id-17' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='__vr_offs' type-id='type-id-17' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-134' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/11/include/stdarg.h' line='40' column='1' id='type-id-135'/> + <typedef-decl name='va_list' type-id='type-id-135' filepath='/usr/lib/gcc-cross/aarch64-linux-gnu/11/include/stdarg.h' line='99' column='1' id='type-id-136'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-9' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-43' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-136' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-17' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='write' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-137'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='61568' id='type-id-139'> + <subrange length='1924' type-id='type-id-4' id='type-id-140'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='4608' id='type-id-141'> + <subrange length='288' type-id='type-id-4' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='5120' id='type-id-143'> + <subrange length='320' type-id='type-id-4' id='type-id-144'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-145' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-146'> + <underlying-type type-id='type-id-67'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-146' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-145'/> + <class-decl name='inflate_state' size-in-bits='73216' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-147'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='mode' type-id='type-id-145' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='last' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='havedict' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='check' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='lencode' type-id='type-id-148' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='distcode' type-id='type-id-148' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='next' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1728'> + <var-decl name='lens' type-id='type-id-143' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6848'> + <var-decl name='work' type-id='type-id-141' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11456'> + <var-decl name='codes' type-id='type-id-139' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73024'> + <var-decl name='sane' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73056'> + <var-decl name='back' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73088'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73120'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-138' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-150'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-150' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-138'/> + <enum-decl name='codetype' naming-typedef-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-152'> + <underlying-type type-id='type-id-67'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-151'/> + <typedef-decl name='in_func' type-id='type-id-153' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-154'/> + <typedef-decl name='out_func' type-id='type-id-155' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-156'/> + <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-149'/> + <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-157'/> + <qualified-type-def type-id='type-id-138' const='yes' id='type-id-158'/> + <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-148'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-159'/> + <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-160'/> + <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-155'/> + <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-153'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-163'/> + <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-164'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-154' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-156' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-160'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-151'/> + <parameter type-id='type-id-163'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-157'/> + <parameter type-id='type-id-164'/> + <parameter type-id='type-id-163'/> + <return type-id='type-id-17'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-161'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='64' id='type-id-162'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-159'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-165' size-in-bits='9216' id='type-id-166'> + <subrange length='288' type-id='type-id-4' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-165' size-in-bits='960' id='type-id-167'> + <subrange length='30' type-id='type-id-4' id='type-id-168'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-169' size-in-bits='928' id='type-id-170'> + <subrange length='29' type-id='type-id-4' id='type-id-171'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-169' size-in-bits='960' id='type-id-172'> + <subrange length='30' type-id='type-id-4' id='type-id-168'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-173'> + <subrange length='256' type-id='type-id-4' id='type-id-174'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-175'> + <subrange length='512' type-id='type-id-4' id='type-id-176'/> + </array-type-def> + <qualified-type-def type-id='type-id-71' const='yes' id='type-id-165'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-169'/> + <var-decl name='static_ltree' type-id='type-id-166' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-167' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-175' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-173' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-170' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-177' size-in-bits='640' id='type-id-178'> + <subrange length='10' type-id='type-id-4' id='type-id-179'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='304' id='type-id-180'> + <subrange length='38' type-id='type-id-4' id='type-id-181'/> + </array-type-def> + <qualified-type-def type-id='type-id-43' const='yes' id='type-id-177'/> + <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-182'/> + <var-decl name='zng_vstring' type-id='type-id-180' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-17' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-178' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/aarch64-linux-gnu/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/aarch64-linux-gnu/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-182'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/arm' language='LANG_C11'> + <function-decl name='getauxval' filepath='/usr/aarch64-linux-gnu/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-4'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1856' is-struct='yes' naming-typedef-id='type-id-183' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-184'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-132' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-184' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-183'/> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/aarch64-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-185'/> + <typedef-decl name='ssize_t' type-id='type-id-185' filepath='/usr/aarch64-linux-gnu/include/stdio.h' line='77' column='1' id='type-id-137'/> + <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-186'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-9' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-17' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-43'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/aarch64-linux-gnu/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-137'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/aarch64-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/aarch64-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/aarch64-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/aarch64-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabi.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabi.abi new file mode 100644 index 0000000000..414f8a96ec --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabi.abi @@ -0,0 +1,1889 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-arm' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux.so.3'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='void' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/arm-linux-gnueabi/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='47' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-7' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='153' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-8' filepath='/usr/arm-linux-gnueabi/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='32' id='type-id-11'/> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-12'/> + <class-decl name='internal_state' size-in-bits='47744' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-13'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='pending_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='status' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='last_flush' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='reproducible' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='block_open' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='prev' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='block_start' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev_match' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='match_available' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='update_hash' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='insert_string' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='quick_insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='nice_match' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1824'> + <var-decl name='dyn_ltree' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20160'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22112'> + <var-decl name='bl_tree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23360'> + <var-decl name='l_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23456'> + <var-decl name='d_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23552'> + <var-decl name='bl_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23648'> + <var-decl name='bl_count' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23904'> + <var-decl name='heap' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42240'> + <var-decl name='heap_len' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42272'> + <var-decl name='heap_max' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42304'> + <var-decl name='depth' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46912'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46944'> + <var-decl name='sym_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46976'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47008'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47040'> + <var-decl name='opt_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47072'> + <var-decl name='static_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47136'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='compressed_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='bits_sent' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47392'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-16'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-31'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-47'/> + <typedef-decl name='int32_t' type-id='type-id-48' filepath='/usr/arm-linux-gnueabi/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-49' filepath='/usr/arm-linux-gnueabi/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-50'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='38' column='1' id='type-id-49'/> + <typedef-decl name='__int32_t' type-id='type-id-16' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='41' column='1' id='type-id-48'/> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/11/include/stddef.h' line='209' column='1' id='type-id-42'/> + <qualified-type-def type-id='type-id-12' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='32' id='type-id-44'/> + <qualified-type-def type-id='type-id-50' const='yes' id='type-id-52'/> + <pointer-type-def type-id='type-id-52' size-in-bits='32' id='type-id-41'/> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-45'/> + <pointer-type-def type-id='type-id-42' size-in-bits='32' id='type-id-53'/> + <pointer-type-def type-id='type-id-50' size-in-bits='32' id='type-id-43'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-15'/> + <pointer-type-def type-id='type-id-54' size-in-bits='32' id='type-id-38'/> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-46'/> + <pointer-type-def type-id='type-id-55' size-in-bits='32' id='type-id-36'/> + <pointer-type-def type-id='type-id-47' size-in-bits='32' id='type-id-14'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-54'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-55'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='arm_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-56'/> + <pointer-type-def type-id='type-id-56' size-in-bits='32' id='type-id-57'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-56' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1248' id='type-id-26'> + <subrange length='39' type-id='type-id-3' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='18336' id='type-id-24'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-3' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-3' id='type-id-63'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='18336' id='type-id-29'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-64'/> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='256' id='type-id-28'> + <subrange length='16' type-id='type-id-3' id='type-id-66'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-67'> + <subrange length='64' type-id='type-id-3' id='type-id-68'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-30'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-23'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-59'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-71'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-72'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-59' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-73'/> + <typedef-decl name='static_tree_desc' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-74'/> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-27'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-75' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-65' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-19'/> + <typedef-decl name='deflate_state' type-id='type-id-13' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-77'/> + <typedef-decl name='update_hash_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-20'/> + <typedef-decl name='insert_string_cb' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-21'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-22'/> + <enum-decl name='block_state' naming-typedef-id='type-id-81' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-82'> + <underlying-type type-id='type-id-69'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-82' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-81'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-83'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-84'/> + <class-decl name='zng_gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-85'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-86'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-17'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-88' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-89'> + <underlying-type type-id='type-id-69'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-88'/> + <class-decl name='zng_deflate_param_value' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-90' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-91'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='buf' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='size' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-91' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-90'/> + <typedef-decl name='uint16_t' type-id='type-id-92' filepath='/usr/arm-linux-gnueabi/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-65'/> + <typedef-decl name='uint64_t' type-id='type-id-93' filepath='/usr/arm-linux-gnueabi/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-70' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='40' column='1' id='type-id-92'/> + <typedef-decl name='__uint64_t' type-id='type-id-64' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='48' column='1' id='type-id-93'/> + <pointer-type-def type-id='type-id-19' size-in-bits='32' id='type-id-18'/> + <pointer-type-def type-id='type-id-12' size-in-bits='32' id='type-id-32'/> + <qualified-type-def type-id='type-id-74' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-94' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-73' size-in-bits='32' id='type-id-75'/> + <pointer-type-def type-id='type-id-77' size-in-bits='32' id='type-id-95'/> + <qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/> + <pointer-type-def type-id='type-id-34' size-in-bits='32' id='type-id-97'/> + <pointer-type-def type-id='type-id-98' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-99' size-in-bits='32' id='type-id-78'/> + <pointer-type-def type-id='type-id-6' size-in-bits='32' id='type-id-100'/> + <pointer-type-def type-id='type-id-101' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-90' size-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-86' size-in-bits='32' id='type-id-87'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-100' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-97' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-31' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-98'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-type> + <function-type size-in-bits='32' id='type-id-99'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-101'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_quick.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='memcmp' filepath='/usr/arm-linux-gnueabi/include/string.h' line='64' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-23' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-105'/> + <class-decl name='functable_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='adler32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='crc32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='crc32_fold_reset' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32_fold_copy' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='crc32_fold' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_final' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='compare256' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='chunksize' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='chunkmemset_safe' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='inflate_fast' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='insert_string' type-id='type-id-79' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='longest_match' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='longest_match_slow' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='quick_insert_string' type-id='type-id-80' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='slide_hash' type-id='type-id-117' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='update_hash' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-118'/> + <pointer-type-def type-id='type-id-23' size-in-bits='32' id='type-id-119'/> + <pointer-type-def type-id='type-id-120' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-121' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-122' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-123' size-in-bits='32' id='type-id-116'/> + <pointer-type-def type-id='type-id-124' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-125' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-126' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-127' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-128' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-129' size-in-bits='32' id='type-id-117'/> + <pointer-type-def type-id='type-id-130' size-in-bits='32' id='type-id-115'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='30' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunksize_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='89' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='90' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='165' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='longest_match_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='169' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='186' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='193' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='208' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='quick_insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='219' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='slide_hash_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='228' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='update_hash_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='245' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <var-decl name='functable' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='32' id='type-id-120'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-121'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-122'> + <parameter type-id='type-id-119'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-123'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-124'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-125'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-126'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-type> + <function-type size-in-bits='32' id='type-id-127'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-128'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-129'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-130'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-131'/> + <typedef-decl name='gzFile' type-id='type-id-132' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-133'/> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-134' size-in-bits='32' id='type-id-132'/> + <pointer-type-def type-id='type-id-16' size-in-bits='32' id='type-id-135'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-44' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-16' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-135' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/arm-linux-gnueabi/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/arm-linux-gnueabi/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/arm-linux-gnueabi/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/arm-linux-gnueabi/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/arm-linux-gnueabi/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='32' is-struct='yes' visibility='default' id='type-id-136'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__ap' type-id='type-id-46' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-136' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/11/include/stdarg.h' line='40' column='1' id='type-id-137'/> + <typedef-decl name='va_list' type-id='type-id-137' filepath='/usr/lib/gcc-cross/arm-linux-gnueabi/11/include/stdarg.h' line='99' column='1' id='type-id-138'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-44' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-138' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-16' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='write' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-139'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-140' size-in-bits='61568' id='type-id-141'> + <subrange length='1924' type-id='type-id-3' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='4608' id='type-id-143'> + <subrange length='288' type-id='type-id-3' id='type-id-144'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='5120' id='type-id-145'> + <subrange length='320' type-id='type-id-3' id='type-id-146'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-147' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-148'> + <underlying-type type-id='type-id-69'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-148' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-147'/> + <class-decl name='inflate_state' size-in-bits='72960' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-149'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='mode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='last' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='havedict' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='check' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='total' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='head' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='lencode' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='distcode' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='next' type-id='type-id-151' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='lens' type-id='type-id-145' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6624'> + <var-decl name='work' type-id='type-id-143' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11232'> + <var-decl name='codes' type-id='type-id-141' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72800'> + <var-decl name='sane' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72832'> + <var-decl name='back' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72864'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72896'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-152'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-140'/> + <enum-decl name='codetype' naming-typedef-id='type-id-153' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-154'> + <underlying-type type-id='type-id-69'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-153'/> + <typedef-decl name='in_func' type-id='type-id-155' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-156'/> + <typedef-decl name='out_func' type-id='type-id-157' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-158'/> + <pointer-type-def type-id='type-id-140' size-in-bits='32' id='type-id-151'/> + <pointer-type-def type-id='type-id-151' size-in-bits='32' id='type-id-159'/> + <qualified-type-def type-id='type-id-140' const='yes' id='type-id-160'/> + <pointer-type-def type-id='type-id-160' size-in-bits='32' id='type-id-150'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-161'/> + <pointer-type-def type-id='type-id-149' size-in-bits='32' id='type-id-162'/> + <pointer-type-def type-id='type-id-163' size-in-bits='32' id='type-id-157'/> + <pointer-type-def type-id='type-id-164' size-in-bits='32' id='type-id-155'/> + <pointer-type-def type-id='type-id-65' size-in-bits='32' id='type-id-165'/> + <pointer-type-def type-id='type-id-3' size-in-bits='32' id='type-id-166'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-156' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-158' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-162'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-153'/> + <parameter type-id='type-id-165'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-159'/> + <parameter type-id='type-id-166'/> + <parameter type-id='type-id-165'/> + <return type-id='type-id-16'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-163'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='32' id='type-id-164'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-161'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='32' id='type-id-167'/> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-167'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='9216' id='type-id-169'> + <subrange length='288' type-id='type-id-3' id='type-id-144'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='960' id='type-id-170'> + <subrange length='30' type-id='type-id-3' id='type-id-171'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-172' size-in-bits='928' id='type-id-173'> + <subrange length='29' type-id='type-id-3' id='type-id-174'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-172' size-in-bits='960' id='type-id-175'> + <subrange length='30' type-id='type-id-3' id='type-id-171'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-176'> + <subrange length='256' type-id='type-id-3' id='type-id-177'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-178'> + <subrange length='512' type-id='type-id-3' id='type-id-179'/> + </array-type-def> + <qualified-type-def type-id='type-id-73' const='yes' id='type-id-168'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-172'/> + <var-decl name='static_ltree' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-170' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-178' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-176' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-173' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-175' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-180' size-in-bits='320' id='type-id-181'> + <subrange length='10' type-id='type-id-3' id='type-id-182'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='304' id='type-id-183'> + <subrange length='38' type-id='type-id-3' id='type-id-184'/> + </array-type-def> + <qualified-type-def type-id='type-id-44' const='yes' id='type-id-180'/> + <pointer-type-def type-id='type-id-46' size-in-bits='32' id='type-id-185'/> + <var-decl name='zng_vstring' type-id='type-id-183' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-181' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/arm-linux-gnueabi/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/arm-linux-gnueabi/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-185'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/arm' language='LANG_C11'> + <function-decl name='getauxval' filepath='/usr/arm-linux-gnueabi/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-31'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-186' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-187'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-134' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-187' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-186'/> + <typedef-decl name='__ssize_t' type-id='type-id-16' filepath='/usr/arm-linux-gnueabi/include/bits/types.h' line='194' column='1' id='type-id-188'/> + <typedef-decl name='ssize_t' type-id='type-id-188' filepath='/usr/arm-linux-gnueabi/include/stdio.h' line='77' column='1' id='type-id-139'/> + <pointer-type-def type-id='type-id-186' size-in-bits='32' id='type-id-189'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-189'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-44'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/arm-linux-gnueabi/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-139'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/arm-linux-gnueabi/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-135'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/arm-linux-gnueabi/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/arm-linux-gnueabi/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/arm-linux-gnueabi/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabihf.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabihf.abi new file mode 100644 index 0000000000..f5b3aa7737 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabihf.abi @@ -0,0 +1,1881 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-arm' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux-armhf.so.3'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='void' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='47' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-7' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='153' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-8' filepath='/usr/arm-linux-gnueabihf/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='32' id='type-id-11'/> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-12'/> + <class-decl name='internal_state' size-in-bits='47744' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-13'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='pending_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='status' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='last_flush' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='reproducible' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='block_open' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='prev' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='block_start' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev_match' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='match_available' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='update_hash' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='insert_string' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='quick_insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='nice_match' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1824'> + <var-decl name='dyn_ltree' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20160'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22112'> + <var-decl name='bl_tree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23360'> + <var-decl name='l_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23456'> + <var-decl name='d_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23552'> + <var-decl name='bl_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23648'> + <var-decl name='bl_count' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23904'> + <var-decl name='heap' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42240'> + <var-decl name='heap_len' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42272'> + <var-decl name='heap_max' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42304'> + <var-decl name='depth' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46912'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46944'> + <var-decl name='sym_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46976'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47008'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47040'> + <var-decl name='opt_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47072'> + <var-decl name='static_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47136'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='compressed_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='bits_sent' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47392'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-16'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-31'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-47'/> + <typedef-decl name='int32_t' type-id='type-id-48' filepath='/usr/arm-linux-gnueabihf/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-49' filepath='/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-50'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='38' column='1' id='type-id-49'/> + <typedef-decl name='__int32_t' type-id='type-id-16' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='41' column='1' id='type-id-48'/> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/11/include/stddef.h' line='209' column='1' id='type-id-42'/> + <qualified-type-def type-id='type-id-12' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='32' id='type-id-44'/> + <qualified-type-def type-id='type-id-50' const='yes' id='type-id-52'/> + <pointer-type-def type-id='type-id-52' size-in-bits='32' id='type-id-41'/> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-45'/> + <pointer-type-def type-id='type-id-42' size-in-bits='32' id='type-id-53'/> + <pointer-type-def type-id='type-id-50' size-in-bits='32' id='type-id-43'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-15'/> + <pointer-type-def type-id='type-id-54' size-in-bits='32' id='type-id-38'/> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-46'/> + <pointer-type-def type-id='type-id-55' size-in-bits='32' id='type-id-36'/> + <pointer-type-def type-id='type-id-47' size-in-bits='32' id='type-id-14'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-54'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-55'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='arm_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.h' line='11' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-56'/> + <pointer-type-def type-id='type-id-56' size-in-bits='32' id='type-id-57'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-56' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1248' id='type-id-26'> + <subrange length='39' type-id='type-id-3' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='18336' id='type-id-24'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-3' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-3' id='type-id-63'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='18336' id='type-id-29'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-64'/> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='256' id='type-id-28'> + <subrange length='16' type-id='type-id-3' id='type-id-66'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-67'> + <subrange length='64' type-id='type-id-3' id='type-id-68'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-30'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-23'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-59'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-71'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-72'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-59' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-73'/> + <typedef-decl name='static_tree_desc' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-74'/> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-27'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-75' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-65' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-19'/> + <typedef-decl name='deflate_state' type-id='type-id-13' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-77'/> + <typedef-decl name='update_hash_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-20'/> + <typedef-decl name='insert_string_cb' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-21'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-22'/> + <enum-decl name='block_state' naming-typedef-id='type-id-81' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-82'> + <underlying-type type-id='type-id-69'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-82' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-81'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-83'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-84'/> + <class-decl name='zng_gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-85'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-86'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-17'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-88' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-89'> + <underlying-type type-id='type-id-69'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-88'/> + <class-decl name='zng_deflate_param_value' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-90' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-91'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='buf' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='size' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-91' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-90'/> + <typedef-decl name='uint16_t' type-id='type-id-92' filepath='/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-65'/> + <typedef-decl name='uint64_t' type-id='type-id-93' filepath='/usr/arm-linux-gnueabihf/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-70' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='40' column='1' id='type-id-92'/> + <typedef-decl name='__uint64_t' type-id='type-id-64' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='48' column='1' id='type-id-93'/> + <pointer-type-def type-id='type-id-19' size-in-bits='32' id='type-id-18'/> + <pointer-type-def type-id='type-id-12' size-in-bits='32' id='type-id-32'/> + <qualified-type-def type-id='type-id-74' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-94' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-73' size-in-bits='32' id='type-id-75'/> + <pointer-type-def type-id='type-id-77' size-in-bits='32' id='type-id-95'/> + <qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/> + <pointer-type-def type-id='type-id-34' size-in-bits='32' id='type-id-97'/> + <pointer-type-def type-id='type-id-98' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-99' size-in-bits='32' id='type-id-78'/> + <pointer-type-def type-id='type-id-6' size-in-bits='32' id='type-id-100'/> + <pointer-type-def type-id='type-id-101' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-90' size-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-86' size-in-bits='32' id='type-id-87'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-100' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-97' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-31' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-98'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-type> + <function-type size-in-bits='32' id='type-id-99'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-101'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-23' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-105'/> + <class-decl name='functable_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='adler32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='crc32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='crc32_fold_reset' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32_fold_copy' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='crc32_fold' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_final' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='compare256' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='chunksize' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='chunkmemset_safe' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='inflate_fast' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='insert_string' type-id='type-id-79' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='longest_match' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='longest_match_slow' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='quick_insert_string' type-id='type-id-80' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='slide_hash' type-id='type-id-117' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='update_hash' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-118'/> + <pointer-type-def type-id='type-id-23' size-in-bits='32' id='type-id-119'/> + <pointer-type-def type-id='type-id-120' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-121' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-122' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-123' size-in-bits='32' id='type-id-116'/> + <pointer-type-def type-id='type-id-124' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-125' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-126' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-127' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-128' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-129' size-in-bits='32' id='type-id-117'/> + <pointer-type-def type-id='type-id-130' size-in-bits='32' id='type-id-115'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='30' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunksize_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='89' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='90' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='140' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='165' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='longest_match_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='173' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='186' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='196' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='208' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='quick_insert_string_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='219' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='slide_hash_neon' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='228' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='update_hash_acle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='245' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <var-decl name='functable' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='32' id='type-id-120'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-121'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-122'> + <parameter type-id='type-id-119'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-123'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-124'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-125'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-126'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-type> + <function-type size-in-bits='32' id='type-id-127'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-128'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-129'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-130'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-131'/> + <typedef-decl name='gzFile' type-id='type-id-132' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-133'/> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-134' size-in-bits='32' id='type-id-132'/> + <pointer-type-def type-id='type-id-16' size-in-bits='32' id='type-id-135'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-44' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-16' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-135' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/arm-linux-gnueabihf/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/arm-linux-gnueabihf/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/arm-linux-gnueabihf/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/arm-linux-gnueabihf/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list' size-in-bits='32' is-struct='yes' visibility='default' id='type-id-136'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='__ap' type-id='type-id-46' visibility='default'/> + </data-member> + </class-decl> + <typedef-decl name='__gnuc_va_list' type-id='type-id-136' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/11/include/stdarg.h' line='40' column='1' id='type-id-137'/> + <typedef-decl name='va_list' type-id='type-id-137' filepath='/usr/lib/gcc-cross/arm-linux-gnueabihf/11/include/stdarg.h' line='99' column='1' id='type-id-138'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-44' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-138' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-16' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='write' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-139'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-140' size-in-bits='61568' id='type-id-141'> + <subrange length='1924' type-id='type-id-3' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='4608' id='type-id-143'> + <subrange length='288' type-id='type-id-3' id='type-id-144'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='5120' id='type-id-145'> + <subrange length='320' type-id='type-id-3' id='type-id-146'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-147' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-148'> + <underlying-type type-id='type-id-69'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-148' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-147'/> + <class-decl name='inflate_state' size-in-bits='72960' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-149'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='mode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='last' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='havedict' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='check' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='total' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='head' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='lencode' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='distcode' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='next' type-id='type-id-151' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='lens' type-id='type-id-145' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6624'> + <var-decl name='work' type-id='type-id-143' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11232'> + <var-decl name='codes' type-id='type-id-141' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72800'> + <var-decl name='sane' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72832'> + <var-decl name='back' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72864'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72896'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-152'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-140'/> + <enum-decl name='codetype' naming-typedef-id='type-id-153' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-154'> + <underlying-type type-id='type-id-69'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-153'/> + <typedef-decl name='in_func' type-id='type-id-155' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-156'/> + <typedef-decl name='out_func' type-id='type-id-157' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-158'/> + <pointer-type-def type-id='type-id-140' size-in-bits='32' id='type-id-151'/> + <pointer-type-def type-id='type-id-151' size-in-bits='32' id='type-id-159'/> + <qualified-type-def type-id='type-id-140' const='yes' id='type-id-160'/> + <pointer-type-def type-id='type-id-160' size-in-bits='32' id='type-id-150'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-161'/> + <pointer-type-def type-id='type-id-149' size-in-bits='32' id='type-id-162'/> + <pointer-type-def type-id='type-id-163' size-in-bits='32' id='type-id-157'/> + <pointer-type-def type-id='type-id-164' size-in-bits='32' id='type-id-155'/> + <pointer-type-def type-id='type-id-65' size-in-bits='32' id='type-id-165'/> + <pointer-type-def type-id='type-id-3' size-in-bits='32' id='type-id-166'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-156' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-158' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-162'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-153'/> + <parameter type-id='type-id-165'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-159'/> + <parameter type-id='type-id-166'/> + <parameter type-id='type-id-165'/> + <return type-id='type-id-16'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-163'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='32' id='type-id-164'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-161'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='32' id='type-id-167'/> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-167'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='9216' id='type-id-169'> + <subrange length='288' type-id='type-id-3' id='type-id-144'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='960' id='type-id-170'> + <subrange length='30' type-id='type-id-3' id='type-id-171'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-172' size-in-bits='928' id='type-id-173'> + <subrange length='29' type-id='type-id-3' id='type-id-174'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-172' size-in-bits='960' id='type-id-175'> + <subrange length='30' type-id='type-id-3' id='type-id-171'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-176'> + <subrange length='256' type-id='type-id-3' id='type-id-177'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-178'> + <subrange length='512' type-id='type-id-3' id='type-id-179'/> + </array-type-def> + <qualified-type-def type-id='type-id-73' const='yes' id='type-id-168'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-172'/> + <var-decl name='static_ltree' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-170' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-178' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-176' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-173' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-175' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-180' size-in-bits='320' id='type-id-181'> + <subrange length='10' type-id='type-id-3' id='type-id-182'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='304' id='type-id-183'> + <subrange length='38' type-id='type-id-3' id='type-id-184'/> + </array-type-def> + <qualified-type-def type-id='type-id-44' const='yes' id='type-id-180'/> + <pointer-type-def type-id='type-id-46' size-in-bits='32' id='type-id-185'/> + <var-decl name='zng_vstring' type-id='type-id-183' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-181' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/arm-linux-gnueabihf/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/arm-linux-gnueabihf/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-185'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/arm/arm_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/arm' language='LANG_C11'> + <function-decl name='getauxval' filepath='/usr/arm-linux-gnueabihf/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-31'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-186' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-187'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-134' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-187' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-186'/> + <typedef-decl name='__ssize_t' type-id='type-id-16' filepath='/usr/arm-linux-gnueabihf/include/bits/types.h' line='194' column='1' id='type-id-188'/> + <typedef-decl name='ssize_t' type-id='type-id-188' filepath='/usr/arm-linux-gnueabihf/include/stdio.h' line='77' column='1' id='type-id-139'/> + <pointer-type-def type-id='type-id-186' size-in-bits='32' id='type-id-189'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-189'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-44'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/arm-linux-gnueabihf/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-139'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/arm-linux-gnueabihf/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-135'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/arm-linux-gnueabihf/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/arm-linux-gnueabihf/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips-unknown-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips-unknown-linux-gnu.abi new file mode 100644 index 0000000000..53e2b06b58 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips-unknown-linux-gnu.abi @@ -0,0 +1,1241 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-mips-r3000-be' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <typedef-decl name='uint32_t' type-id='type-id-4' filepath='/usr/mips-linux-gnu/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-5'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='42' column='1' id='type-id-4'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='47' column='1' id='type-id-6'/> + <typedef-decl name='__off64_t' type-id='type-id-6' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-7'/> + <typedef-decl name='off64_t' type-id='type-id-7' filepath='/usr/mips-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-8'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-9'/> + <pointer-type-def type-id='type-id-9' size-in-bits='32' id='type-id-10'/> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-10' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-5' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-5' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='int' size-in-bits='32' id='type-id-11'/> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc-cross/mips-linux-gnu/10/include/stddef.h' line='209' column='1' id='type-id-12'/> + <pointer-type-def type-id='type-id-12' size-in-bits='32' id='type-id-13'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-14'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-13' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-10' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-12' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-11' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-13' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-10' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-12' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-12' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <qualified-type-def type-id='type-id-5' const='yes' id='type-id-15'/> + <pointer-type-def type-id='type-id-15' size-in-bits='32' id='type-id-16'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-10' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-5' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-5' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-5' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-15' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='void' id='type-id-17'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='char' size-in-bits='8' id='type-id-18'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='1248' id='type-id-21'> + <subrange length='39' type-id='type-id-3' id='type-id-22'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-23'> + <subrange length='573' type-id='type-id-3' id='type-id-24'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-3' id='type-id-26'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='352' id='type-id-28'> + <subrange length='11' type-id='type-id-3' id='type-id-29'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-3' id='type-id-24'/> + </array-type-def> + <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-31'/> + <array-type-def dimensions='1' type-id='type-id-32' size-in-bits='256' id='type-id-33'> + <subrange length='16' type-id='type-id-3' id='type-id-34'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-35' size-in-bits='512' id='type-id-36'> + <subrange length='64' type-id='type-id-3' id='type-id-37'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-38'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-39'> + <subrange length='573' type-id='type-id-3' id='type-id-24'/> + </array-type-def> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-40'/> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-41'/> + <typedef-decl name='zng_stream' type-id='type-id-42' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='100' column='1' id='type-id-43'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-44'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-36' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-20'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-45'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-46'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-20' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-47'/> + <typedef-decl name='static_tree_desc' type-id='type-id-19' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-48'/> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-49'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-50' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-51' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-52'/> + <typedef-decl name='deflate_state' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-54'/> + <typedef-decl name='update_hash_cb' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-56'/> + <typedef-decl name='insert_string_cb' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-58'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-59' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-60'/> + <class-decl name='internal_state' size-in-bits='47744' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-53'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-61' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='pending_buf' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_out' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='wrap' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='gzindex' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-62' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='status' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='last_flush' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='reproducible' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='block_open' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='prev' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='head' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='ins_h' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='block_start' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev_match' type-id='type-id-52' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='match_available' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='update_hash' type-id='type-id-56' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='insert_string' type-id='type-id-58' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='quick_insert_string' type-id='type-id-60' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='level' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='strategy' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='nice_match' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='crc_fold' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1824'> + <var-decl name='dyn_ltree' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20160'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22112'> + <var-decl name='bl_tree' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23360'> + <var-decl name='l_desc' type-id='type-id-49' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23456'> + <var-decl name='d_desc' type-id='type-id-49' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23552'> + <var-decl name='bl_desc' type-id='type-id-49' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23648'> + <var-decl name='bl_count' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23904'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42240'> + <var-decl name='heap_len' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42272'> + <var-decl name='heap_max' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42304'> + <var-decl name='depth' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46912'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46944'> + <var-decl name='sym_buf' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46976'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47008'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47040'> + <var-decl name='opt_len' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47072'> + <var-decl name='static_len' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47136'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='compressed_len' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='bits_sent' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='reserved_p' type-id='type-id-64' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='bi_buf' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='bi_valid' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47392'> + <var-decl name='reserved' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='alloc_func' type-id='type-id-66' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-67'/> + <typedef-decl name='free_func' type-id='type-id-68' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-69'/> + <class-decl name='zng_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-42'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-12' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-12' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-73' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-11' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <class-decl name='zng_gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-75'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-40' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-75' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-76'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-62'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-79'> + <underlying-type type-id='type-id-38'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-78'/> + <class-decl name='zng_deflate_param_value' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-80' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-81'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='buf' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='size' type-id='type-id-12' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='status' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-81' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-80'/> + <typedef-decl name='int32_t' type-id='type-id-82' filepath='/usr/mips-linux-gnu/include/bits/stdint-intn.h' line='26' column='1' id='type-id-27'/> + <typedef-decl name='uint8_t' type-id='type-id-83' filepath='/usr/mips-linux-gnu/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-35'/> + <typedef-decl name='uint16_t' type-id='type-id-84' filepath='/usr/mips-linux-gnu/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-32'/> + <typedef-decl name='uint64_t' type-id='type-id-85' filepath='/usr/mips-linux-gnu/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-65'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='38' column='1' id='type-id-83'/> + <typedef-decl name='__uint16_t' type-id='type-id-41' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='40' column='1' id='type-id-84'/> + <typedef-decl name='__int32_t' type-id='type-id-11' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='41' column='1' id='type-id-82'/> + <typedef-decl name='__uint64_t' type-id='type-id-31' filepath='/usr/mips-linux-gnu/include/bits/types.h' line='48' column='1' id='type-id-85'/> + <pointer-type-def type-id='type-id-52' size-in-bits='32' id='type-id-63'/> + <pointer-type-def type-id='type-id-18' size-in-bits='32' id='type-id-64'/> + <qualified-type-def type-id='type-id-18' const='yes' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' size-in-bits='32' id='type-id-72'/> + <qualified-type-def type-id='type-id-48' const='yes' id='type-id-87'/> + <pointer-type-def type-id='type-id-87' size-in-bits='32' id='type-id-51'/> + <qualified-type-def type-id='type-id-35' const='yes' id='type-id-88'/> + <pointer-type-def type-id='type-id-88' size-in-bits='32' id='type-id-70'/> + <pointer-type-def type-id='type-id-47' size-in-bits='32' id='type-id-50'/> + <pointer-type-def type-id='type-id-54' size-in-bits='32' id='type-id-89'/> + <qualified-type-def type-id='type-id-89' const='yes' id='type-id-90'/> + <pointer-type-def type-id='type-id-27' size-in-bits='32' id='type-id-91'/> + <pointer-type-def type-id='type-id-53' size-in-bits='32' id='type-id-73'/> + <pointer-type-def type-id='type-id-92' size-in-bits='32' id='type-id-59'/> + <pointer-type-def type-id='type-id-93' size-in-bits='32' id='type-id-55'/> + <pointer-type-def type-id='type-id-5' size-in-bits='32' id='type-id-94'/> + <pointer-type-def type-id='type-id-35' size-in-bits='32' id='type-id-71'/> + <pointer-type-def type-id='type-id-95' size-in-bits='32' id='type-id-57'/> + <pointer-type-def type-id='type-id-96' size-in-bits='32' id='type-id-68'/> + <pointer-type-def type-id='type-id-17' size-in-bits='32' id='type-id-74'/> + <pointer-type-def type-id='type-id-97' size-in-bits='32' id='type-id-66'/> + <pointer-type-def type-id='type-id-80' size-in-bits='32' id='type-id-98'/> + <pointer-type-def type-id='type-id-76' size-in-bits='32' id='type-id-77'/> + <pointer-type-def type-id='type-id-43' size-in-bits='32' id='type-id-61'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-72' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-72' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-70' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-5' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-71' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-94' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-62' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-94' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-91' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-27' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-27' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-40' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-40'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1'/> + <parameter type-id='type-id-27' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1022' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1022' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-61' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-98' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-12' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-98' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-12' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-92'> + <parameter type-id='type-id-90'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-52'/> + </function-type> + <function-type size-in-bits='32' id='type-id-93'> + <parameter type-id='type-id-90'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-95'> + <parameter type-id='type-id-90'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-17'/> + </function-type> + <function-type size-in-bits='32' id='type-id-96'> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-74'/> + <return type-id='type-id-17'/> + </function-type> + <function-type size-in-bits='32' id='type-id-97'> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-74'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <class-decl name='functable_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-99'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-100' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='adler32_fold_copy' type-id='type-id-101' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='crc32' type-id='type-id-100' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='crc32_fold_reset' type-id='type-id-102' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32_fold_copy' type-id='type-id-103' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='crc32_fold' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_final' type-id='type-id-102' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='compare256' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='chunksize' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='chunkmemset_safe' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='inflate_fast' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='insert_string' type-id='type-id-57' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='longest_match' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='longest_match_slow' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='quick_insert_string' type-id='type-id-59' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='slide_hash' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='update_hash' type-id='type-id-55' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-44' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-112' size-in-bits='32' id='type-id-106'/> + <pointer-type-def type-id='type-id-113' size-in-bits='32' id='type-id-105'/> + <pointer-type-def type-id='type-id-114' size-in-bits='32' id='type-id-102'/> + <pointer-type-def type-id='type-id-115' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-116' size-in-bits='32' id='type-id-100'/> + <pointer-type-def type-id='type-id-117' size-in-bits='32' id='type-id-101'/> + <pointer-type-def type-id='type-id-118' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-119' size-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-120' size-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-121' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-122' size-in-bits='32' id='type-id-108'/> + <var-decl name='functable' type-id='type-id-99' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='32' id='type-id-112'> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-113'> + <parameter type-id='type-id-70'/> + <parameter type-id='type-id-70'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-114'> + <parameter type-id='type-id-111'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-115'> + <parameter type-id='type-id-90'/> + <parameter type-id='type-id-52'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-116'> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-70'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-117'> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-71'/> + <parameter type-id='type-id-70'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='32' id='type-id-118'> + <parameter type-id='type-id-71'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-71'/> + </function-type> + <function-type size-in-bits='32' id='type-id-119'> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-70'/> + <parameter type-id='type-id-12'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-17'/> + </function-type> + <function-type size-in-bits='32' id='type-id-120'> + <parameter type-id='type-id-111'/> + <parameter type-id='type-id-71'/> + <parameter type-id='type-id-70'/> + <parameter type-id='type-id-12'/> + <return type-id='type-id-17'/> + </function-type> + <function-type size-in-bits='32' id='type-id-121'> + <parameter type-id='type-id-89'/> + <return type-id='type-id-17'/> + </function-type> + <function-type size-in-bits='32' id='type-id-122'> + <parameter type-id='type-id-61'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-17'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <typedef-decl name='gzFile' type-id='type-id-123' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-124'/> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-125'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-125' size-in-bits='32' id='type-id-123'/> + <pointer-type-def type-id='type-id-11' size-in-bits='32' id='type-id-126'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-72' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-72' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-124'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-11' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-72' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-124'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-11' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-126' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-72'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='variadic parameter type' id='type-id-127'/> + <typedef-decl name='__gnuc_va_list' type-id='type-id-74' filepath='/usr/lib/gcc-cross/mips-linux-gnu/10/include/stdarg.h' line='40' column='1' id='type-id-128'/> + <typedef-decl name='va_list' type-id='type-id-128' filepath='/usr/lib/gcc-cross/mips-linux-gnu/10/include/stdarg.h' line='99' column='1' id='type-id-129'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-74' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-74' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-12' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-12' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-11' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-72' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-72' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-129' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-72' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-11' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-11' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-11' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='490' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='490' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <typedef-decl name='in_func' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-131'/> + <typedef-decl name='out_func' type-id='type-id-132' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-133'/> + <pointer-type-def type-id='type-id-70' size-in-bits='32' id='type-id-134'/> + <pointer-type-def type-id='type-id-135' size-in-bits='32' id='type-id-132'/> + <pointer-type-def type-id='type-id-136' size-in-bits='32' id='type-id-130'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-71' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-71' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-72' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-131' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-74' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-133' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-74' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-135'> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-71'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-27'/> + </function-type> + <function-type size-in-bits='32' id='type-id-136'> + <parameter type-id='type-id-74'/> + <parameter type-id='type-id-134'/> + <return type-id='type-id-5'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='long int' size-in-bits='32' id='type-id-137'/> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-72' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-72' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-27' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-71' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-94' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-70' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-5' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-62' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-61' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-27' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-27' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-137'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-61' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-40'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='9216' id='type-id-139'> + <subrange length='288' type-id='type-id-3' id='type-id-140'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='960' id='type-id-141'> + <subrange length='30' type-id='type-id-3' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-143' size-in-bits='928' id='type-id-144'> + <subrange length='29' type-id='type-id-3' id='type-id-145'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-143' size-in-bits='960' id='type-id-146'> + <subrange length='30' type-id='type-id-3' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='2048' id='type-id-147'> + <subrange length='256' type-id='type-id-3' id='type-id-148'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='4096' id='type-id-149'> + <subrange length='512' type-id='type-id-3' id='type-id-150'/> + </array-type-def> + <qualified-type-def type-id='type-id-47' const='yes' id='type-id-138'/> + <qualified-type-def type-id='type-id-11' const='yes' id='type-id-143'/> + <var-decl name='static_ltree' type-id='type-id-139' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-141' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-146' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-10' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-13' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-13' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-10' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-12' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <array-type-def dimensions='1' type-id='type-id-151' size-in-bits='320' id='type-id-152'> + <subrange length='10' type-id='type-id-3' id='type-id-153'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-86' size-in-bits='304' id='type-id-154'> + <subrange length='38' type-id='type-id-3' id='type-id-155'/> + </array-type-def> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-151'/> + <var-decl name='zng_vstring' type-id='type-id-154' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-72'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-40'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-11' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-72'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-152' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-74' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-74' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-12' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-12' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-11' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-64' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-11' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-64'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='576' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-124' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='576' column='1'/> + <return type-id='type-id-11'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips64-unknown-linux-gnuabi64.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips64-unknown-linux-gnuabi64.abi new file mode 100644 index 0000000000..3e4322f455 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips64-unknown-linux-gnuabi64.abi @@ -0,0 +1,1250 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-mips-r3000-be' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/> + <typedef-decl name='size_t' type-id='type-id-4' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/10/include/stddef.h' line='209' column='1' id='type-id-5'/> + <typedef-decl name='uint32_t' type-id='type-id-6' filepath='/usr/mips64-linux-gnuabi64/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-7'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='42' column='1' id='type-id-6'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='153' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-8' filepath='/usr/mips64-linux-gnuabi64/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/> + <function-decl name='zng_adler32_z' mangled-name='zng_adler32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-5' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-7' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-7' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='void' id='type-id-12'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='int' size-in-bits='32' id='type-id-13'/> + <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-14'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-15'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-14' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-5' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-13' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-14' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-5' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-5' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <qualified-type-def type-id='type-id-7' const='yes' id='type-id-16'/> + <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-17'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_crc32_z' mangled-name='zng_crc32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-5' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-7' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-7' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-7' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-7' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-16' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-7'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='char' size-in-bits='8' id='type-id-18'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='1248' id='type-id-21'> + <subrange length='39' type-id='type-id-4' id='type-id-22'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='18336' id='type-id-23'> + <subrange length='573' type-id='type-id-4' id='type-id-24'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-4' id='type-id-26'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-27' size-in-bits='352' id='type-id-28'> + <subrange length='11' type-id='type-id-4' id='type-id-29'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-13' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-4' id='type-id-24'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-31' size-in-bits='256' id='type-id-32'> + <subrange length='16' type-id='type-id-4' id='type-id-33'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='512' id='type-id-35'> + <subrange length='64' type-id='type-id-4' id='type-id-36'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-37'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-38'> + <subrange length='573' type-id='type-id-4' id='type-id-24'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-39'/> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='100' column='1' id='type-id-41'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-42'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-20'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-43'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-44'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-20' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-45'/> + <typedef-decl name='static_tree_desc' type-id='type-id-19' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-46'/> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-47'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-48' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-49' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-31' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-50'/> + <typedef-decl name='deflate_state' type-id='type-id-51' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-52'/> + <typedef-decl name='update_hash_cb' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-54'/> + <typedef-decl name='insert_string_cb' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-56'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-58'/> + <class-decl name='internal_state' size-in-bits='48512' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-51'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-59' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='pending' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='wrap' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='gzindex' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='gzhead' type-id='type-id-60' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='status' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='last_flush' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='reproducible' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='block_open' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev' type-id='type-id-61' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='head' type-id='type-id-61' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='ins_h' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='block_start' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='prev_match' type-id='type-id-50' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='match_available' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='update_hash' type-id='type-id-54' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='insert_string' type-id='type-id-56' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='quick_insert_string' type-id='type-id-58' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='level' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='strategy' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='nice_match' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='crc_fold' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <var-decl name='dyn_ltree' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20416'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22368'> + <var-decl name='bl_tree' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='l_desc' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='d_desc' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24000'> + <var-decl name='bl_desc' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24192'> + <var-decl name='bl_count' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24448'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42784'> + <var-decl name='heap_len' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42816'> + <var-decl name='heap_max' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42848'> + <var-decl name='depth' type-id='type-id-38' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='sym_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47584'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47616'> + <var-decl name='opt_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47680'> + <var-decl name='static_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47744'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47776'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47808'> + <var-decl name='compressed_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47872'> + <var-decl name='bits_sent' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47936'> + <var-decl name='reserved_p' type-id='type-id-62' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48000'> + <var-decl name='bi_buf' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48064'> + <var-decl name='bi_valid' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48096'> + <var-decl name='reserved' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='alloc_func' type-id='type-id-64' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-65'/> + <typedef-decl name='free_func' type-id='type-id-66' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-67'/> + <class-decl name='zng_stream_s' size-in-bits='832' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-68' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-13' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='adler' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reserved' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <class-decl name='zng_gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-73'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-7' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-73' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-74'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-75' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-60'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-76' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-77'> + <underlying-type type-id='type-id-37'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-76'/> + <class-decl name='zng_deflate_param_value' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-79'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='buf' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='size' type-id='type-id-5' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='status' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-78'/> + <typedef-decl name='int32_t' type-id='type-id-80' filepath='/usr/mips64-linux-gnuabi64/include/bits/stdint-intn.h' line='26' column='1' id='type-id-27'/> + <typedef-decl name='uint8_t' type-id='type-id-81' filepath='/usr/mips64-linux-gnuabi64/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-34'/> + <typedef-decl name='uint16_t' type-id='type-id-82' filepath='/usr/mips64-linux-gnuabi64/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-31'/> + <typedef-decl name='uint64_t' type-id='type-id-83' filepath='/usr/mips64-linux-gnuabi64/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-63'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='38' column='1' id='type-id-81'/> + <typedef-decl name='__uint16_t' type-id='type-id-39' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='40' column='1' id='type-id-82'/> + <typedef-decl name='__int32_t' type-id='type-id-13' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='41' column='1' id='type-id-80'/> + <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/mips64-linux-gnuabi64/include/bits/types.h' line='45' column='1' id='type-id-83'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-61'/> + <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-62'/> + <qualified-type-def type-id='type-id-18' const='yes' id='type-id-84'/> + <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-70'/> + <qualified-type-def type-id='type-id-46' const='yes' id='type-id-85'/> + <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-49'/> + <qualified-type-def type-id='type-id-34' const='yes' id='type-id-86'/> + <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-68'/> + <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-48'/> + <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-87'/> + <qualified-type-def type-id='type-id-87' const='yes' id='type-id-88'/> + <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-89'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-71'/> + <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-57'/> + <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-53'/> + <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-92'/> + <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-69'/> + <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-55'/> + <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-66'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-72'/> + <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-64'/> + <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-96'/> + <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-59'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-19'/> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='323' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-70' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-27' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-70' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-68' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-7' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-69' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-92' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-60' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-92' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-89' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-27' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-27' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-27' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-27' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-27' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-4' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1'/> + <parameter type-id='type-id-27' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='725' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1022' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1022' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-59' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-96' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-5' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-96' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-5' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-90'> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-50'/> + </function-type> + <function-type size-in-bits='64' id='type-id-91'> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-93'> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-94'> + <parameter type-id='type-id-72'/> + <parameter type-id='type-id-72'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-95'> + <parameter type-id='type-id-72'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-72'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <class-decl name='functable_s' size-in-bits='1088' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-97'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-98' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='adler32_fold_copy' type-id='type-id-99' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32' type-id='type-id-98' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_reset' type-id='type-id-100' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='crc32_fold_copy' type-id='type-id-101' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='crc32_fold' type-id='type-id-102' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='crc32_fold_final' type-id='type-id-100' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='compare256' type-id='type-id-103' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='chunksize' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='chunkmemset_safe' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='inflate_fast' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='insert_string' type-id='type-id-55' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='longest_match' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='longest_match_slow' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='quick_insert_string' type-id='type-id-57' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='slide_hash' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='update_hash' type-id='type-id-53' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-104'/> + <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-103'/> + <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-114' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-99'/> + <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-105'/> + <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-106'/> + <var-decl name='functable' type-id='type-id-97' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='64' id='type-id-110'> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-111'> + <parameter type-id='type-id-68'/> + <parameter type-id='type-id-68'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-112'> + <parameter type-id='type-id-109'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-113'> + <parameter type-id='type-id-88'/> + <parameter type-id='type-id-50'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-114'> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-68'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-115'> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-69'/> + <parameter type-id='type-id-68'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-7'/> + </function-type> + <function-type size-in-bits='64' id='type-id-116'> + <parameter type-id='type-id-69'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-69'/> + </function-type> + <function-type size-in-bits='64' id='type-id-117'> + <parameter type-id='type-id-109'/> + <parameter type-id='type-id-68'/> + <parameter type-id='type-id-5'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-118'> + <parameter type-id='type-id-109'/> + <parameter type-id='type-id-69'/> + <parameter type-id='type-id-68'/> + <parameter type-id='type-id-5'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-119'> + <parameter type-id='type-id-87'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-120'> + <parameter type-id='type-id-59'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-12'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <typedef-decl name='gzFile' type-id='type-id-121' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-122'/> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-123'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-121'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-124'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-70' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-70' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-122'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-13' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-70' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-122'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-13' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-124' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-70'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <type-decl name='variadic parameter type' id='type-id-125'/> + <typedef-decl name='__gnuc_va_list' type-id='type-id-72' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/10/include/stdarg.h' line='40' column='1' id='type-id-126'/> + <typedef-decl name='va_list' type-id='type-id-126' filepath='/usr/lib/gcc-cross/mips64-linux-gnuabi64/10/include/stdarg.h' line='99' column='1' id='type-id-127'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-72' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-72' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-5' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-5' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-13' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-70' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-70' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-127' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-70' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-13' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-13' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-13' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='490' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='490' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <typedef-decl name='in_func' type-id='type-id-128' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-129'/> + <typedef-decl name='out_func' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-131'/> + <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-132'/> + <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-130'/> + <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-128'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-69' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-69' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-70' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-129' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-72' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-131' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-72' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-133'> + <parameter type-id='type-id-72'/> + <parameter type-id='type-id-69'/> + <parameter type-id='type-id-7'/> + <return type-id='type-id-27'/> + </function-type> + <function-type size-in-bits='64' id='type-id-134'> + <parameter type-id='type-id-72'/> + <parameter type-id='type-id-132'/> + <return type-id='type-id-7'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-70' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-27' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-70' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-27' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-27' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-27' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-69' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-92' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-68' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-7' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-60' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-59' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-27' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-27' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-27'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-59' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <array-type-def dimensions='1' type-id='type-id-135' size-in-bits='9216' id='type-id-136'> + <subrange length='288' type-id='type-id-4' id='type-id-137'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-135' size-in-bits='960' id='type-id-138'> + <subrange length='30' type-id='type-id-4' id='type-id-139'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-140' size-in-bits='928' id='type-id-141'> + <subrange length='29' type-id='type-id-4' id='type-id-142'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-140' size-in-bits='960' id='type-id-143'> + <subrange length='30' type-id='type-id-4' id='type-id-139'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-144'> + <subrange length='256' type-id='type-id-4' id='type-id-145'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-146'> + <subrange length='512' type-id='type-id-4' id='type-id-147'/> + </array-type-def> + <qualified-type-def type-id='type-id-45' const='yes' id='type-id-135'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-140'/> + <var-decl name='static_ltree' type-id='type-id-136' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-138' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-146' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-141' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-143' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-14' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-14' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-14' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-5' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <array-type-def dimensions='1' type-id='type-id-148' size-in-bits='640' id='type-id-149'> + <subrange length='10' type-id='type-id-4' id='type-id-150'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-84' size-in-bits='304' id='type-id-151'> + <subrange length='38' type-id='type-id-4' id='type-id-152'/> + </array-type-def> + <qualified-type-def type-id='type-id-70' const='yes' id='type-id-148'/> + <var-decl name='zng_vstring' type-id='type-id-151' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-70'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-13' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-70'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C99'> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-72' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-72' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-5' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-5' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-13' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-62' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-13' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-62'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-122' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='576' column='1'/> + <return type-id='type-id-13'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc-unknown-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc-unknown-linux-gnu.abi new file mode 100644 index 0000000000..3164f07e71 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc-unknown-linux-gnu.abi @@ -0,0 +1,1895 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-powerpc' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='void' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/powerpc-linux-gnu/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='47' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-7' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-8' filepath='/usr/powerpc-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='32' id='type-id-11'/> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-12'/> + <class-decl name='internal_state' size-in-bits='47744' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-13'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='pending_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='status' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='last_flush' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='reproducible' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='block_open' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='prev' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='block_start' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev_match' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='match_available' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='update_hash' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='insert_string' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='quick_insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='nice_match' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1824'> + <var-decl name='dyn_ltree' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20160'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22112'> + <var-decl name='bl_tree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23360'> + <var-decl name='l_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23456'> + <var-decl name='d_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23552'> + <var-decl name='bl_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23648'> + <var-decl name='bl_count' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23904'> + <var-decl name='heap' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42240'> + <var-decl name='heap_len' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42272'> + <var-decl name='heap_max' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42304'> + <var-decl name='depth' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46912'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46944'> + <var-decl name='sym_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46976'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47008'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47040'> + <var-decl name='opt_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47072'> + <var-decl name='static_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47136'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='compressed_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='bits_sent' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47296'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47392'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-16'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-31'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-47'/> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc-cross/powerpc-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-42'/> + <typedef-decl name='int32_t' type-id='type-id-48' filepath='/usr/powerpc-linux-gnu/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-49' filepath='/usr/powerpc-linux-gnu/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-50'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='38' column='1' id='type-id-49'/> + <typedef-decl name='__int32_t' type-id='type-id-16' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='41' column='1' id='type-id-48'/> + <qualified-type-def type-id='type-id-12' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='32' id='type-id-44'/> + <qualified-type-def type-id='type-id-50' const='yes' id='type-id-52'/> + <pointer-type-def type-id='type-id-52' size-in-bits='32' id='type-id-41'/> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-45'/> + <pointer-type-def type-id='type-id-42' size-in-bits='32' id='type-id-53'/> + <pointer-type-def type-id='type-id-50' size-in-bits='32' id='type-id-43'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-15'/> + <pointer-type-def type-id='type-id-54' size-in-bits='32' id='type-id-38'/> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-46'/> + <pointer-type-def type-id='type-id-55' size-in-bits='32' id='type-id-36'/> + <pointer-type-def type-id='type-id-47' size-in-bits='32' id='type-id-14'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-54'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-55'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='power_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='14' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-56'/> + <pointer-type-def type-id='type-id-56' size-in-bits='32' id='type-id-57'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-56' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1248' id='type-id-26'> + <subrange length='39' type-id='type-id-3' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='18336' id='type-id-24'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-3' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-3' id='type-id-63'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='18336' id='type-id-29'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-64'/> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='256' id='type-id-28'> + <subrange length='16' type-id='type-id-3' id='type-id-66'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-67'> + <subrange length='64' type-id='type-id-3' id='type-id-68'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-30'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-23'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-59'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-71'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-72'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-59' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-73'/> + <typedef-decl name='static_tree_desc' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-74'/> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-27'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-75' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-65' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-19'/> + <typedef-decl name='deflate_state' type-id='type-id-13' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-77'/> + <typedef-decl name='update_hash_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-20'/> + <typedef-decl name='insert_string_cb' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-21'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-22'/> + <enum-decl name='block_state' naming-typedef-id='type-id-81' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-82'> + <underlying-type type-id='type-id-69'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-82' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-81'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-83'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-84'/> + <class-decl name='zng_gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-85'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-86'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-17'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-88' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-89'> + <underlying-type type-id='type-id-69'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-88'/> + <class-decl name='zng_deflate_param_value' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-90' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-91'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='buf' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='size' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-91' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-90'/> + <typedef-decl name='uint16_t' type-id='type-id-92' filepath='/usr/powerpc-linux-gnu/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-65'/> + <typedef-decl name='uint64_t' type-id='type-id-93' filepath='/usr/powerpc-linux-gnu/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-70' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='40' column='1' id='type-id-92'/> + <typedef-decl name='__uint64_t' type-id='type-id-64' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='48' column='1' id='type-id-93'/> + <pointer-type-def type-id='type-id-19' size-in-bits='32' id='type-id-18'/> + <pointer-type-def type-id='type-id-12' size-in-bits='32' id='type-id-32'/> + <qualified-type-def type-id='type-id-74' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-94' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-73' size-in-bits='32' id='type-id-75'/> + <pointer-type-def type-id='type-id-77' size-in-bits='32' id='type-id-95'/> + <qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/> + <pointer-type-def type-id='type-id-34' size-in-bits='32' id='type-id-97'/> + <pointer-type-def type-id='type-id-98' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-99' size-in-bits='32' id='type-id-78'/> + <pointer-type-def type-id='type-id-6' size-in-bits='32' id='type-id-100'/> + <pointer-type-def type-id='type-id-101' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-90' size-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-86' size-in-bits='32' id='type-id-87'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-100' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-97' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-31' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-98'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-type> + <function-type size-in-bits='32' id='type-id-99'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-101'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_quick.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='memcmp' filepath='/usr/powerpc-linux-gnu/include/string.h' line='64' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-23' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-105'/> + <class-decl name='functable_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='adler32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='crc32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='crc32_fold_reset' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32_fold_copy' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='crc32_fold' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_final' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='compare256' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='chunksize' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='chunkmemset_safe' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='inflate_fast' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='insert_string' type-id='type-id-79' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='longest_match' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='longest_match_slow' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='quick_insert_string' type-id='type-id-80' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='slide_hash' type-id='type-id-117' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='update_hash' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-118'/> + <pointer-type-def type-id='type-id-23' size-in-bits='32' id='type-id-119'/> + <pointer-type-def type-id='type-id-120' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-121' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-122' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-123' size-in-bits='32' id='type-id-116'/> + <pointer-type-def type-id='type-id-124' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-125' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-126' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-127' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-128' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-129' size-in-bits='32' id='type-id-117'/> + <pointer-type-def type-id='type-id-130' size-in-bits='32' id='type-id-115'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='33' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='48' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunksize_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='93' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='94' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='118' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='156' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='longest_match_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='169' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='189' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='193' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='211' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='slide_hash_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='231' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='slide_hash_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='234' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <var-decl name='functable' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='32' id='type-id-120'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-121'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-122'> + <parameter type-id='type-id-119'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-123'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-124'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-125'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-126'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-type> + <function-type size-in-bits='32' id='type-id-127'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-128'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-129'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-130'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-131'/> + <typedef-decl name='gzFile' type-id='type-id-132' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-133'/> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-134' size-in-bits='32' id='type-id-132'/> + <pointer-type-def type-id='type-id-16' size-in-bits='32' id='type-id-135'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-44' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-16' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-135' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/powerpc-linux-gnu/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/powerpc-linux-gnu/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/powerpc-linux-gnu/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc-linux-gnu/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list_tag' size-in-bits='96' is-struct='yes' visibility='default' id='type-id-136'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='gpr' type-id='type-id-2' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='fpr' type-id='type-id-2' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='reserved' type-id='type-id-70' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='overflow_arg_area' type-id='type-id-46' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='reg_save_area' type-id='type-id-46' visibility='default'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-136' size-in-bits='32' id='type-id-137'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-44' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-137' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-16' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-138'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-139' size-in-bits='61568' id='type-id-140'> + <subrange length='1924' type-id='type-id-3' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='4608' id='type-id-142'> + <subrange length='288' type-id='type-id-3' id='type-id-143'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='5120' id='type-id-144'> + <subrange length='320' type-id='type-id-3' id='type-id-145'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-146' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-147'> + <underlying-type type-id='type-id-69'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-147' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-146'/> + <class-decl name='inflate_state' size-in-bits='72960' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-148'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='mode' type-id='type-id-146' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='last' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='havedict' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='check' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='total' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='head' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='lencode' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='distcode' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='next' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='lens' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6624'> + <var-decl name='work' type-id='type-id-142' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11232'> + <var-decl name='codes' type-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72800'> + <var-decl name='sane' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72832'> + <var-decl name='back' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72864'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72896'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-139' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-151'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-139'/> + <enum-decl name='codetype' naming-typedef-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-153'> + <underlying-type type-id='type-id-69'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-153' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-152'/> + <typedef-decl name='in_func' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-155'/> + <typedef-decl name='out_func' type-id='type-id-156' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-157'/> + <pointer-type-def type-id='type-id-139' size-in-bits='32' id='type-id-150'/> + <pointer-type-def type-id='type-id-150' size-in-bits='32' id='type-id-158'/> + <qualified-type-def type-id='type-id-139' const='yes' id='type-id-159'/> + <pointer-type-def type-id='type-id-159' size-in-bits='32' id='type-id-149'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-160'/> + <pointer-type-def type-id='type-id-148' size-in-bits='32' id='type-id-161'/> + <pointer-type-def type-id='type-id-162' size-in-bits='32' id='type-id-156'/> + <pointer-type-def type-id='type-id-163' size-in-bits='32' id='type-id-154'/> + <pointer-type-def type-id='type-id-65' size-in-bits='32' id='type-id-164'/> + <pointer-type-def type-id='type-id-3' size-in-bits='32' id='type-id-165'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-155' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-157' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-161'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-152'/> + <parameter type-id='type-id-164'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-158'/> + <parameter type-id='type-id-165'/> + <parameter type-id='type-id-164'/> + <return type-id='type-id-16'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-162'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='32' id='type-id-163'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-160'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='32' id='type-id-166'/> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-166'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-167' size-in-bits='9216' id='type-id-168'> + <subrange length='288' type-id='type-id-3' id='type-id-143'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-167' size-in-bits='960' id='type-id-169'> + <subrange length='30' type-id='type-id-3' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-171' size-in-bits='928' id='type-id-172'> + <subrange length='29' type-id='type-id-3' id='type-id-173'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-171' size-in-bits='960' id='type-id-174'> + <subrange length='30' type-id='type-id-3' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-175'> + <subrange length='256' type-id='type-id-3' id='type-id-176'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-177'> + <subrange length='512' type-id='type-id-3' id='type-id-178'/> + </array-type-def> + <qualified-type-def type-id='type-id-73' const='yes' id='type-id-167'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-171'/> + <var-decl name='static_ltree' type-id='type-id-168' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-177' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-175' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-174' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-179' size-in-bits='320' id='type-id-180'> + <subrange length='10' type-id='type-id-3' id='type-id-181'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='304' id='type-id-182'> + <subrange length='38' type-id='type-id-3' id='type-id-183'/> + </array-type-def> + <qualified-type-def type-id='type-id-44' const='yes' id='type-id-179'/> + <pointer-type-def type-id='type-id-46' size-in-bits='32' id='type-id-184'/> + <var-decl name='zng_vstring' type-id='type-id-182' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-180' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/powerpc-linux-gnu/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/powerpc-linux-gnu/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-184'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/power' language='LANG_C11'> + <var-decl name='power_cpu_has_altivec' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='10' column='1'/> + <var-decl name='power_cpu_has_arch_2_07' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='11' column='1'/> + <var-decl name='power_cpu_has_arch_3_00' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='12' column='1'/> + <function-decl name='getauxval' filepath='/usr/powerpc-linux-gnu/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-31'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1344' is-struct='yes' naming-typedef-id='type-id-185' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-186'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-134' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='start' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='eof' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='past' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='reset' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='skip' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='seek' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='err' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='strm' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-186' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-185'/> + <typedef-decl name='__ssize_t' type-id='type-id-16' filepath='/usr/powerpc-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-187'/> + <typedef-decl name='ssize_t' type-id='type-id-187' filepath='/usr/powerpc-linux-gnu/include/stdio.h' line='77' column='1' id='type-id-138'/> + <pointer-type-def type-id='type-id-185' size-in-bits='32' id='type-id-188'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-44'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/powerpc-linux-gnu/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-138'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/powerpc-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-135'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64-unknown-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64-unknown-linux-gnu.abi new file mode 100644 index 0000000000..1d97902bc5 --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64-unknown-linux-gnu.abi @@ -0,0 +1,1894 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-powerpc-64' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld64.so.1'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/> + <type-decl name='void' id='type-id-5'/> + <typedef-decl name='size_t' type-id='type-id-4' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-6'/> + <typedef-decl name='uint32_t' type-id='type-id-7' filepath='/usr/powerpc64-linux-gnu/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-8'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='42' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-9'/> + <typedef-decl name='off64_t' type-id='type-id-9' filepath='/usr/powerpc64-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-10'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-11'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-12'/> + <function-decl name='zng_adler32_z' mangled-name='zng_adler32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-8' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-8' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-13'/> + <class-decl name='internal_state' size-in-bits='48512' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-14'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='pending' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='gzindex' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='gzhead' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='status' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='last_flush' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='reproducible' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='block_open' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='head' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='ins_h' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='block_start' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='prev_match' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='match_available' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='update_hash' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='quick_insert_string' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='nice_match' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <var-decl name='dyn_ltree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20416'> + <var-decl name='dyn_dtree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22368'> + <var-decl name='bl_tree' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='l_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='d_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24000'> + <var-decl name='bl_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24192'> + <var-decl name='bl_count' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24448'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42784'> + <var-decl name='heap_len' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42816'> + <var-decl name='heap_max' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42848'> + <var-decl name='depth' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='sym_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47584'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47616'> + <var-decl name='opt_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47680'> + <var-decl name='static_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47744'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47776'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47808'> + <var-decl name='compressed_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47872'> + <var-decl name='bits_sent' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47936'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48000'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48064'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48096'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-17'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='832' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='adler' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reserved' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-46'/> + <typedef-decl name='int32_t' type-id='type-id-47' filepath='/usr/powerpc64-linux-gnu/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-48' filepath='/usr/powerpc64-linux-gnu/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-49'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='38' column='1' id='type-id-48'/> + <typedef-decl name='__int32_t' type-id='type-id-17' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='41' column='1' id='type-id-47'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-50'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-43'/> + <qualified-type-def type-id='type-id-49' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-41'/> + <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-44'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-52'/> + <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-16'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-38'/> + <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-45'/> + <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-36'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-15'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-53'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-54'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='power_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='14' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-8' const='yes' id='type-id-55'/> + <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-56'/> + </function-decl> + <function-decl name='zng_crc32_z' mangled-name='zng_crc32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-8' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-8' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-8' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-55' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1248' id='type-id-27'> + <subrange length='39' type-id='type-id-4' id='type-id-59'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='18336' id='type-id-25'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1952' id='type-id-26'> + <subrange length='61' type-id='type-id-4' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-4' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='256' id='type-id-29'> + <subrange length='16' type-id='type-id-4' id='type-id-64'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='512' id='type-id-65'> + <subrange length='64' type-id='type-id-4' id='type-id-66'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-67'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-31'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-68'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-24'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-58'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-69'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-70'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-71'/> + <typedef-decl name='static_tree_desc' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-72'/> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-73' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-63' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-20'/> + <typedef-decl name='deflate_state' type-id='type-id-14' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-75'/> + <typedef-decl name='update_hash_cb' type-id='type-id-76' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-21'/> + <typedef-decl name='insert_string_cb' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-22'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-23'/> + <enum-decl name='block_state' naming-typedef-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-80'> + <underlying-type type-id='type-id-67'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-79'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-81'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-82'/> + <class-decl name='zng_gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-83'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-83' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-84'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-18'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-86' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-87'> + <underlying-type type-id='type-id-67'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-86'/> + <class-decl name='zng_deflate_param_value' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-89'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-86' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='buf' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-88'/> + <typedef-decl name='uint16_t' type-id='type-id-90' filepath='/usr/powerpc64-linux-gnu/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-63'/> + <typedef-decl name='uint64_t' type-id='type-id-91' filepath='/usr/powerpc64-linux-gnu/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-68' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='40' column='1' id='type-id-90'/> + <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='45' column='1' id='type-id-91'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-32'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-92'/> + <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-74'/> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-93'/> + <qualified-type-def type-id='type-id-93' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-77'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-8' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-98' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-95' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-4' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-6' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-6' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-100'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-96'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-97'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-99'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_quick.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='memcmp' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-24' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-103'/> + <class-decl name='functable_s' size-in-bits='1088' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-104'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='adler32_fold_copy' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_reset' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='crc32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='crc32_fold' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='crc32_fold_final' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='compare256' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='chunksize' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='chunkmemset_safe' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='inflate_fast' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='insert_string' type-id='type-id-77' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='longest_match' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='longest_match_slow' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='quick_insert_string' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='slide_hash' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='update_hash' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-116'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-117'/> + <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-114'/> + <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-105'/> + <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-112'/> + <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-115'/> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-113'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunksize_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunkmemset_safe_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='inflate_fast_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='compare256_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='compare256_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='longest_match_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_slow_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='193' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_slow_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='slide_hash_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='231' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='slide_hash_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <var-decl name='functable' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='64' id='type-id-118'> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-119'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-120'> + <parameter type-id='type-id-117'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-121'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-122'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-123'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-124'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-type> + <function-type size-in-bits='64' id='type-id-125'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-126'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-127'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-128'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-129'/> + <typedef-decl name='gzFile' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-131'/> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-132'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-130'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-133'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-43' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-10' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-17' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-133' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/powerpc64-linux-gnu/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/powerpc64-linux-gnu/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/powerpc64-linux-gnu/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc64-linux-gnu/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-32' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/11/include/stdarg.h' line='40' column='1' id='type-id-134'/> + <typedef-decl name='va_list' type-id='type-id-134' filepath='/usr/lib/gcc-cross/powerpc64-linux-gnu/11/include/stdarg.h' line='99' column='1' id='type-id-135'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-6' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-6' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-43' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-135' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-17' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-136'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='61568' id='type-id-138'> + <subrange length='1924' type-id='type-id-4' id='type-id-139'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='4608' id='type-id-140'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='5120' id='type-id-142'> + <subrange length='320' type-id='type-id-4' id='type-id-143'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-144' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-145'> + <underlying-type type-id='type-id-67'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-145' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-144'/> + <class-decl name='inflate_state' size-in-bits='73216' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-146'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='mode' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='last' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='havedict' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='check' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='wsize' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='whave' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='wnext' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='hold' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='length' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='lencode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='distcode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='have' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='next' type-id='type-id-148' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1728'> + <var-decl name='lens' type-id='type-id-142' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6848'> + <var-decl name='work' type-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11456'> + <var-decl name='codes' type-id='type-id-138' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73024'> + <var-decl name='sane' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73056'> + <var-decl name='back' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73088'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73120'> + <var-decl name='chunksize' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-137' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-149'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-149' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-137'/> + <enum-decl name='codetype' naming-typedef-id='type-id-150' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-151'> + <underlying-type type-id='type-id-67'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-150'/> + <typedef-decl name='in_func' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-153'/> + <typedef-decl name='out_func' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-155'/> + <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-148'/> + <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-156'/> + <qualified-type-def type-id='type-id-137' const='yes' id='type-id-157'/> + <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-147'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-158'/> + <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-159'/> + <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-154'/> + <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-152'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-162'/> + <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-163'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-153' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-155' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-159'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-150'/> + <parameter type-id='type-id-162'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-156'/> + <parameter type-id='type-id-163'/> + <parameter type-id='type-id-162'/> + <return type-id='type-id-17'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-160'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='64' id='type-id-161'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-158'/> + <return type-id='type-id-8'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-8' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='9216' id='type-id-165'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='960' id='type-id-166'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='928' id='type-id-169'> + <subrange length='29' type-id='type-id-4' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='960' id='type-id-171'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='2048' id='type-id-172'> + <subrange length='256' type-id='type-id-4' id='type-id-173'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='4096' id='type-id-174'> + <subrange length='512' type-id='type-id-4' id='type-id-175'/> + </array-type-def> + <qualified-type-def type-id='type-id-71' const='yes' id='type-id-164'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-168'/> + <var-decl name='static_ltree' type-id='type-id-165' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-166' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-174' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-171' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-176' size-in-bits='640' id='type-id-177'> + <subrange length='10' type-id='type-id-4' id='type-id-178'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='304' id='type-id-179'> + <subrange length='38' type-id='type-id-4' id='type-id-180'/> + </array-type-def> + <qualified-type-def type-id='type-id-43' const='yes' id='type-id-176'/> + <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-181'/> + <var-decl name='zng_vstring' type-id='type-id-179' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-17' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-177' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/powerpc64-linux-gnu/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/powerpc64-linux-gnu/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-181'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/power' language='LANG_C11'> + <var-decl name='power_cpu_has_altivec' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='10' column='1'/> + <var-decl name='power_cpu_has_arch_2_07' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='11' column='1'/> + <var-decl name='power_cpu_has_arch_3_00' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='12' column='1'/> + <function-decl name='getauxval' filepath='/usr/powerpc64-linux-gnu/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-4'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1856' is-struct='yes' naming-typedef-id='type-id-182' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-183'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-132' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-183' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-182'/> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/powerpc64-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-184'/> + <typedef-decl name='ssize_t' type-id='type-id-184' filepath='/usr/powerpc64-linux-gnu/include/stdio.h' line='77' column='1' id='type-id-136'/> + <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-185'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-6' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-6' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-17' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-185'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-43'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/powerpc64-linux-gnu/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-136'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/powerpc64-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc64-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc64-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64le-unknown-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64le-unknown-linux-gnu.abi new file mode 100644 index 0000000000..613f5f2f6d --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64le-unknown-linux-gnu.abi @@ -0,0 +1,1886 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-powerpc-64' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld64.so.2'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/> + <type-decl name='void' id='type-id-5'/> + <typedef-decl name='size_t' type-id='type-id-4' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-6'/> + <typedef-decl name='uint32_t' type-id='type-id-7' filepath='/usr/powerpc64le-linux-gnu/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-8'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='42' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='153' column='1' id='type-id-9'/> + <typedef-decl name='off64_t' type-id='type-id-9' filepath='/usr/powerpc64le-linux-gnu/include/sys/types.h' line='92' column='1' id='type-id-10'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-11'/> + <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-12'/> + <function-decl name='zng_adler32_z' mangled-name='zng_adler32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-8' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-8' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-13'/> + <class-decl name='internal_state' size-in-bits='48512' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-14'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='pending' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='gzindex' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='gzhead' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='status' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='last_flush' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='reproducible' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='block_open' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='head' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='ins_h' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='block_start' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='prev_match' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='match_available' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='update_hash' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='quick_insert_string' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='nice_match' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <var-decl name='dyn_ltree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20416'> + <var-decl name='dyn_dtree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22368'> + <var-decl name='bl_tree' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='l_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='d_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24000'> + <var-decl name='bl_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24192'> + <var-decl name='bl_count' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24448'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42784'> + <var-decl name='heap_len' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42816'> + <var-decl name='heap_max' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42848'> + <var-decl name='depth' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='sym_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47584'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47616'> + <var-decl name='opt_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47680'> + <var-decl name='static_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47744'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47776'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47808'> + <var-decl name='compressed_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47872'> + <var-decl name='bits_sent' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47936'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48000'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48064'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48096'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-17'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='832' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='adler' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reserved' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-46'/> + <typedef-decl name='int32_t' type-id='type-id-47' filepath='/usr/powerpc64le-linux-gnu/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-48' filepath='/usr/powerpc64le-linux-gnu/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-49'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='38' column='1' id='type-id-48'/> + <typedef-decl name='__int32_t' type-id='type-id-17' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='41' column='1' id='type-id-47'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-50'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-43'/> + <qualified-type-def type-id='type-id-49' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-41'/> + <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-44'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-52'/> + <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-16'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-38'/> + <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-45'/> + <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-36'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-15'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-53'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-54'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='power_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='14' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-8' const='yes' id='type-id-55'/> + <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-56'/> + </function-decl> + <function-decl name='zng_crc32_z' mangled-name='zng_crc32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-12' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-8' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-8' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-10' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-8' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-55' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1248' id='type-id-27'> + <subrange length='39' type-id='type-id-4' id='type-id-59'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='18336' id='type-id-25'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1952' id='type-id-26'> + <subrange length='61' type-id='type-id-4' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-4' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='256' id='type-id-29'> + <subrange length='16' type-id='type-id-4' id='type-id-64'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='512' id='type-id-65'> + <subrange length='64' type-id='type-id-4' id='type-id-66'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-67'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-31'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-68'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-24'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-58'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-69'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-70'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-71'/> + <typedef-decl name='static_tree_desc' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-72'/> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-73' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-63' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-20'/> + <typedef-decl name='deflate_state' type-id='type-id-14' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-75'/> + <typedef-decl name='update_hash_cb' type-id='type-id-76' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-21'/> + <typedef-decl name='insert_string_cb' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-22'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-23'/> + <enum-decl name='block_state' naming-typedef-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-80'> + <underlying-type type-id='type-id-67'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-79'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-81'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-82'/> + <class-decl name='zng_gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-83'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-83' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-84'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-18'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-86' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-87'> + <underlying-type type-id='type-id-67'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-86'/> + <class-decl name='zng_deflate_param_value' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-89'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-86' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='buf' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-88'/> + <typedef-decl name='uint16_t' type-id='type-id-90' filepath='/usr/powerpc64le-linux-gnu/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-63'/> + <typedef-decl name='uint64_t' type-id='type-id-91' filepath='/usr/powerpc64le-linux-gnu/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-68' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='40' column='1' id='type-id-90'/> + <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='45' column='1' id='type-id-91'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-32'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-92'/> + <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-74'/> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-93'/> + <qualified-type-def type-id='type-id-93' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-77'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-8' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-98' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-95' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-4' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-6' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-6' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-100'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-96'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-97'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-99'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-5'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-24' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-103'/> + <class-decl name='functable_s' size-in-bits='1088' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-104'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='adler32_fold_copy' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_reset' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='crc32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='crc32_fold' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='crc32_fold_final' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='compare256' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='chunksize' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='chunkmemset_safe' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='inflate_fast' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='insert_string' type-id='type-id-77' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='longest_match' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='longest_match_slow' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='quick_insert_string' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='slide_hash' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='update_hash' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-116'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-117'/> + <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-114'/> + <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-105'/> + <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-112'/> + <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-115'/> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-113'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='adler32_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunksize_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='chunkmemset_safe_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='inflate_fast_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='compare256_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='compare256_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='longest_match_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_slow_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='longest_match_slow_power9' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='slide_hash_vmx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='231' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='slide_hash_power8' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-decl> + <var-decl name='functable' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='64' id='type-id-118'> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-119'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-120'> + <parameter type-id='type-id-117'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-121'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-122'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-123'> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-8'/> + </function-type> + <function-type size-in-bits='64' id='type-id-124'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-type> + <function-type size-in-bits='64' id='type-id-125'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-126'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-127'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-5'/> + </function-type> + <function-type size-in-bits='64' id='type-id-128'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-5'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-129'/> + <typedef-decl name='gzFile' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-131'/> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-132'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-130'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-133'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-43' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-10' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-17' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-10'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-133' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/powerpc64le-linux-gnu/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/powerpc64le-linux-gnu/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/powerpc64le-linux-gnu/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/powerpc64le-linux-gnu/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-32' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/11/include/stdarg.h' line='40' column='1' id='type-id-134'/> + <typedef-decl name='va_list' type-id='type-id-134' filepath='/usr/lib/gcc-cross/powerpc64le-linux-gnu/11/include/stdarg.h' line='99' column='1' id='type-id-135'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-6' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-6' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-43' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-135' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-17' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='write' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-136'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='61568' id='type-id-138'> + <subrange length='1924' type-id='type-id-4' id='type-id-139'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='4608' id='type-id-140'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='5120' id='type-id-142'> + <subrange length='320' type-id='type-id-4' id='type-id-143'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-144' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-145'> + <underlying-type type-id='type-id-67'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-145' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-144'/> + <class-decl name='inflate_state' size-in-bits='73216' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-146'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='mode' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='last' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='havedict' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='check' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='wsize' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='whave' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='wnext' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='hold' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='length' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='lencode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='distcode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='have' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='next' type-id='type-id-148' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1728'> + <var-decl name='lens' type-id='type-id-142' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6848'> + <var-decl name='work' type-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11456'> + <var-decl name='codes' type-id='type-id-138' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73024'> + <var-decl name='sane' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73056'> + <var-decl name='back' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73088'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73120'> + <var-decl name='chunksize' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-137' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-149'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-149' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-137'/> + <enum-decl name='codetype' naming-typedef-id='type-id-150' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-151'> + <underlying-type type-id='type-id-67'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-150'/> + <typedef-decl name='in_func' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-153'/> + <typedef-decl name='out_func' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-155'/> + <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-148'/> + <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-156'/> + <qualified-type-def type-id='type-id-137' const='yes' id='type-id-157'/> + <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-147'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-158'/> + <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-159'/> + <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-154'/> + <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-152'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-162'/> + <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-163'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-153' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-155' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-159'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-150'/> + <parameter type-id='type-id-162'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-156'/> + <parameter type-id='type-id-163'/> + <parameter type-id='type-id-162'/> + <return type-id='type-id-17'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-160'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-8'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='64' id='type-id-161'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-158'/> + <return type-id='type-id-8'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-8' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='9216' id='type-id-165'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='960' id='type-id-166'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='928' id='type-id-169'> + <subrange length='29' type-id='type-id-4' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='960' id='type-id-171'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='2048' id='type-id-172'> + <subrange length='256' type-id='type-id-4' id='type-id-173'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='4096' id='type-id-174'> + <subrange length='512' type-id='type-id-4' id='type-id-175'/> + </array-type-def> + <qualified-type-def type-id='type-id-71' const='yes' id='type-id-164'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-168'/> + <var-decl name='static_ltree' type-id='type-id-165' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-166' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-174' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-171' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-12' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-6' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-176' size-in-bits='640' id='type-id-177'> + <subrange length='10' type-id='type-id-4' id='type-id-178'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='304' id='type-id-179'> + <subrange length='38' type-id='type-id-4' id='type-id-180'/> + </array-type-def> + <qualified-type-def type-id='type-id-43' const='yes' id='type-id-176'/> + <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-181'/> + <var-decl name='zng_vstring' type-id='type-id-179' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-17' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-177' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/powerpc64le-linux-gnu/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/powerpc64le-linux-gnu/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-181'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/power' language='LANG_C11'> + <var-decl name='power_cpu_has_altivec' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='10' column='1'/> + <var-decl name='power_cpu_has_arch_2_07' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='11' column='1'/> + <var-decl name='power_cpu_has_arch_3_00' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/power/power_features.h' line='12' column='1'/> + <function-decl name='getauxval' filepath='/usr/powerpc64le-linux-gnu/include/sys/auxv.h' line='31' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-4'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1856' is-struct='yes' naming-typedef-id='type-id-182' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-183'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-132' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-10' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-183' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-182'/> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/powerpc64le-linux-gnu/include/bits/types.h' line='194' column='1' id='type-id-184'/> + <typedef-decl name='ssize_t' type-id='type-id-184' filepath='/usr/powerpc64le-linux-gnu/include/stdio.h' line='77' column='1' id='type-id-136'/> + <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-185'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-6' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-6' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-17' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-185'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-43'/> + <return type-id='type-id-5'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/powerpc64le-linux-gnu/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-136'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/powerpc64le-linux-gnu/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/powerpc64le-linux-gnu/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/powerpc64le-linux-gnu/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu-m32.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu-m32.abi new file mode 100644 index 0000000000..82d8943b8b --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu-m32.abi @@ -0,0 +1,2032 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-intel-80386' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux.so.2'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='void' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/include/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/include/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__int64_t' type-id='type-id-1' filepath='/usr/include/bits/types.h' line='47' column='1' id='type-id-7'/> + <typedef-decl name='__off64_t' type-id='type-id-7' filepath='/usr/include/bits/types.h' line='153' column='1' id='type-id-8'/> + <typedef-decl name='off64_t' type-id='type-id-8' filepath='/usr/include/sys/types.h' line='92' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='32' id='type-id-11'/> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-12'/> + <class-decl name='internal_state' size-in-bits='47744' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-13'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='pending_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='gzhead' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='status' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='last_flush' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='reproducible' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='block_open' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='prev' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='block_start' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev_match' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='match_available' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='864'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='update_hash' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='insert_string' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='quick_insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='nice_match' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1824'> + <var-decl name='dyn_ltree' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20160'> + <var-decl name='dyn_dtree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22112'> + <var-decl name='bl_tree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23360'> + <var-decl name='l_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23456'> + <var-decl name='d_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23552'> + <var-decl name='bl_desc' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23648'> + <var-decl name='bl_count' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23904'> + <var-decl name='heap' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42240'> + <var-decl name='heap_len' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42272'> + <var-decl name='heap_max' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42304'> + <var-decl name='depth' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46912'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46944'> + <var-decl name='sym_buf' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='46976'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47008'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47040'> + <var-decl name='opt_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47072'> + <var-decl name='static_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47104'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47136'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47168'> + <var-decl name='compressed_len' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47200'> + <var-decl name='bits_sent' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47232'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47264'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47328'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47360'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-16'/> + <type-decl name='unsigned long int' size-in-bits='32' id='type-id-31'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='448' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='total_in' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='next_out' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='total_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='msg' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='state' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='opaque' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='data_type' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='reserved' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-47'/> + <typedef-decl name='int32_t' type-id='type-id-48' filepath='/usr/include/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-49' filepath='/usr/include/bits/stdint-uintn.h' line='24' column='1' id='type-id-50'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/include/bits/types.h' line='38' column='1' id='type-id-49'/> + <typedef-decl name='__int32_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='41' column='1' id='type-id-48'/> + <typedef-decl name='size_t' type-id='type-id-3' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-42'/> + <qualified-type-def type-id='type-id-12' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='32' id='type-id-44'/> + <qualified-type-def type-id='type-id-50' const='yes' id='type-id-52'/> + <pointer-type-def type-id='type-id-52' size-in-bits='32' id='type-id-41'/> + <pointer-type-def type-id='type-id-13' size-in-bits='32' id='type-id-45'/> + <pointer-type-def type-id='type-id-42' size-in-bits='32' id='type-id-53'/> + <pointer-type-def type-id='type-id-50' size-in-bits='32' id='type-id-43'/> + <pointer-type-def type-id='type-id-2' size-in-bits='32' id='type-id-15'/> + <pointer-type-def type-id='type-id-54' size-in-bits='32' id='type-id-38'/> + <pointer-type-def type-id='type-id-4' size-in-bits='32' id='type-id-46'/> + <pointer-type-def type-id='type-id-55' size-in-bits='32' id='type-id-36'/> + <pointer-type-def type-id='type-id-47' size-in-bits='32' id='type-id-14'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-54'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-55'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='x86_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/x86_features.h' line='21' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-56'/> + <pointer-type-def type-id='type-id-56' size-in-bits='32' id='type-id-57'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-57'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-56' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1248' id='type-id-26'> + <subrange length='39' type-id='type-id-3' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='18336' id='type-id-24'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-59' size-in-bits='1952' id='type-id-25'> + <subrange length='61' type-id='type-id-3' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-3' id='type-id-63'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='18336' id='type-id-29'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-64'/> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='256' id='type-id-28'> + <subrange length='16' type-id='type-id-3' id='type-id-66'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='512' id='type-id-67'> + <subrange length='64' type-id='type-id-3' id='type-id-68'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-69'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-30'> + <subrange length='573' type-id='type-id-3' id='type-id-61'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-70'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-23'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-67' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-59'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-71' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-72' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-71'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-72'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-59' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-73'/> + <typedef-decl name='static_tree_desc' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-74'/> + <class-decl name='tree_desc_s' size-in-bits='96' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-27'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-75' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='max_code' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='stat_desc' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-65' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-19'/> + <typedef-decl name='deflate_state' type-id='type-id-13' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-77'/> + <typedef-decl name='update_hash_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-20'/> + <typedef-decl name='insert_string_cb' type-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-21'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-22'/> + <enum-decl name='block_state' naming-typedef-id='type-id-81' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-82'> + <underlying-type type-id='type-id-69'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-82' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-81'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-55' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-83'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-84'/> + <class-decl name='zng_gz_header_s' size-in-bits='416' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-85'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='time' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='extra' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='name' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='comment' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-86'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-17'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-88' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-89'> + <underlying-type type-id='type-id-69'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-88'/> + <class-decl name='zng_deflate_param_value' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-90' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-91'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='buf' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='size' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-91' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-90'/> + <typedef-decl name='uint16_t' type-id='type-id-92' filepath='/usr/include/bits/stdint-uintn.h' line='25' column='1' id='type-id-65'/> + <typedef-decl name='uint64_t' type-id='type-id-93' filepath='/usr/include/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-70' filepath='/usr/include/bits/types.h' line='40' column='1' id='type-id-92'/> + <typedef-decl name='__uint64_t' type-id='type-id-64' filepath='/usr/include/bits/types.h' line='48' column='1' id='type-id-93'/> + <pointer-type-def type-id='type-id-19' size-in-bits='32' id='type-id-18'/> + <pointer-type-def type-id='type-id-12' size-in-bits='32' id='type-id-32'/> + <qualified-type-def type-id='type-id-74' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-94' size-in-bits='32' id='type-id-76'/> + <pointer-type-def type-id='type-id-73' size-in-bits='32' id='type-id-75'/> + <pointer-type-def type-id='type-id-77' size-in-bits='32' id='type-id-95'/> + <qualified-type-def type-id='type-id-95' const='yes' id='type-id-96'/> + <pointer-type-def type-id='type-id-34' size-in-bits='32' id='type-id-97'/> + <pointer-type-def type-id='type-id-98' size-in-bits='32' id='type-id-80'/> + <pointer-type-def type-id='type-id-99' size-in-bits='32' id='type-id-78'/> + <pointer-type-def type-id='type-id-6' size-in-bits='32' id='type-id-100'/> + <pointer-type-def type-id='type-id-101' size-in-bits='32' id='type-id-79'/> + <pointer-type-def type-id='type-id-83' size-in-bits='32' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='32' id='type-id-103'/> + <pointer-type-def type-id='type-id-90' size-in-bits='32' id='type-id-104'/> + <pointer-type-def type-id='type-id-86' size-in-bits='32' id='type-id-87'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-58'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-81'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-100' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-97' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-31' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-104' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-42' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-102'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-103'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-98'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-19'/> + </function-type> + <function-type size-in-bits='32' id='type-id-99'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-101'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-23' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-105'/> + <class-decl name='functable_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-106'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='adler32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='crc32' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='crc32_fold_reset' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32_fold_copy' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='crc32_fold' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_final' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='compare256' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='chunksize' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='chunkmemset_safe' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='inflate_fast' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='insert_string' type-id='type-id-79' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='longest_match' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='longest_match_slow' type-id='type-id-116' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='quick_insert_string' type-id='type-id-80' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='slide_hash' type-id='type-id-117' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='update_hash' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-105' size-in-bits='32' id='type-id-118'/> + <pointer-type-def type-id='type-id-23' size-in-bits='32' id='type-id-119'/> + <pointer-type-def type-id='type-id-120' size-in-bits='32' id='type-id-113'/> + <pointer-type-def type-id='type-id-121' size-in-bits='32' id='type-id-112'/> + <pointer-type-def type-id='type-id-122' size-in-bits='32' id='type-id-109'/> + <pointer-type-def type-id='type-id-123' size-in-bits='32' id='type-id-116'/> + <pointer-type-def type-id='type-id-124' size-in-bits='32' id='type-id-107'/> + <pointer-type-def type-id='type-id-125' size-in-bits='32' id='type-id-108'/> + <pointer-type-def type-id='type-id-126' size-in-bits='32' id='type-id-114'/> + <pointer-type-def type-id='type-id-127' size-in-bits='32' id='type-id-111'/> + <pointer-type-def type-id='type-id-128' size-in-bits='32' id='type-id-110'/> + <pointer-type-def type-id='type-id-129' size-in-bits='32' id='type-id-117'/> + <pointer-type-def type-id='type-id-130' size-in-bits='32' id='type-id-115'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_ssse3' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='36' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='39' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx512' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='42' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx512_vnni' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='45' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_sse42' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='53' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='56' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx512' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='59' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx512_vnni' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='62' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_reset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='67' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_copy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='68' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='69' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_final' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='70' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_pclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='71' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunksize_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='78' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='79' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunkmemset_safe_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='82' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunksize_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='85' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='86' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='106' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='109' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='inflate_fast_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='112' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='140' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='147' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='150' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='insert_string_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='163' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='longest_match_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='173' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='180' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='183' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_unaligned_32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='196' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='202' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='205' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='quick_insert_string_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='217' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-56'/> + <return type-id='type-id-19'/> + </function-decl> + <function-decl name='slide_hash_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='226' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='slide_hash_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='237' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='update_hash_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='243' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-118'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-decl> + <var-decl name='functable' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='32' id='type-id-120'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-121'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-122'> + <parameter type-id='type-id-119'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-123'> + <parameter type-id='type-id-96'/> + <parameter type-id='type-id-19'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-124'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-125'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='32' id='type-id-126'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-type> + <function-type size-in-bits='32' id='type-id-127'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-128'> + <parameter type-id='type-id-119'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-129'> + <parameter type-id='type-id-95'/> + <return type-id='type-id-4'/> + </function-type> + <function-type size-in-bits='32' id='type-id-130'> + <parameter type-id='type-id-14'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-4'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-131'/> + <typedef-decl name='gzFile' type-id='type-id-132' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-133'/> + <class-decl name='gzFile_s' size-in-bits='128' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='next' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pos' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-134' size-in-bits='32' id='type-id-132'/> + <pointer-type-def type-id='type-id-16' size-in-bits='32' id='type-id-135'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-44' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-44' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-9' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-16' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-135' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/include/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/include/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/include/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='32'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-44'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-8'/> + <parameter type-id='type-id-16'/> + <return type-id='type-id-8'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='__gnuc_va_list' type-id='type-id-32' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h' line='40' column='1' id='type-id-136'/> + <typedef-decl name='va_list' type-id='type-id-136' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/stdarg.h' line='99' column='1' id='type-id-137'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-44' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-137' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-44' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-16' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-16' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='write' filepath='/usr/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-138'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-139' size-in-bits='61568' id='type-id-140'> + <subrange length='1924' type-id='type-id-3' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='4608' id='type-id-142'> + <subrange length='288' type-id='type-id-3' id='type-id-143'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-65' size-in-bits='5120' id='type-id-144'> + <subrange length='320' type-id='type-id-3' id='type-id-145'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-146' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-147'> + <underlying-type type-id='type-id-69'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-147' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-146'/> + <class-decl name='inflate_state' size-in-bits='72960' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-148'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-14' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='mode' type-id='type-id-146' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='last' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='wrap' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='havedict' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='check' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='total' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='head' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='window' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='crc_fold' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='lencode' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='distcode' type-id='type-id-149' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1376'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='next' type-id='type-id-150' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='lens' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6624'> + <var-decl name='work' type-id='type-id-142' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11232'> + <var-decl name='codes' type-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72800'> + <var-decl name='sane' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72832'> + <var-decl name='back' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72864'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='72896'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-139' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-151'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-139'/> + <enum-decl name='codetype' naming-typedef-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-153'> + <underlying-type type-id='type-id-69'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-153' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-152'/> + <typedef-decl name='in_func' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-155'/> + <typedef-decl name='out_func' type-id='type-id-156' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-157'/> + <pointer-type-def type-id='type-id-139' size-in-bits='32' id='type-id-150'/> + <pointer-type-def type-id='type-id-150' size-in-bits='32' id='type-id-158'/> + <qualified-type-def type-id='type-id-139' const='yes' id='type-id-159'/> + <pointer-type-def type-id='type-id-159' size-in-bits='32' id='type-id-149'/> + <pointer-type-def type-id='type-id-41' size-in-bits='32' id='type-id-160'/> + <pointer-type-def type-id='type-id-148' size-in-bits='32' id='type-id-161'/> + <pointer-type-def type-id='type-id-162' size-in-bits='32' id='type-id-156'/> + <pointer-type-def type-id='type-id-163' size-in-bits='32' id='type-id-154'/> + <pointer-type-def type-id='type-id-65' size-in-bits='32' id='type-id-164'/> + <pointer-type-def type-id='type-id-3' size-in-bits='32' id='type-id-165'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-155' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-157' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-46' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-161'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-152'/> + <parameter type-id='type-id-164'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-158'/> + <parameter type-id='type-id-165'/> + <parameter type-id='type-id-164'/> + <return type-id='type-id-16'/> + </function-decl> + <function-type size-in-bits='32' id='type-id-162'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='32' id='type-id-163'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-160'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='32' id='type-id-166'/> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-44' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-43' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-100' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-17' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-14' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-166'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-14' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-31'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-167' size-in-bits='9216' id='type-id-168'> + <subrange length='288' type-id='type-id-3' id='type-id-143'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-167' size-in-bits='960' id='type-id-169'> + <subrange length='30' type-id='type-id-3' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-171' size-in-bits='928' id='type-id-172'> + <subrange length='29' type-id='type-id-3' id='type-id-173'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-171' size-in-bits='960' id='type-id-174'> + <subrange length='30' type-id='type-id-3' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-175'> + <subrange length='256' type-id='type-id-3' id='type-id-176'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-177'> + <subrange length='512' type-id='type-id-3' id='type-id-178'/> + </array-type-def> + <qualified-type-def type-id='type-id-73' const='yes' id='type-id-167'/> + <qualified-type-def type-id='type-id-16' const='yes' id='type-id-171'/> + <var-decl name='static_ltree' type-id='type-id-168' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-177' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-175' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-174' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-53' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-53' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-42' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-179' size-in-bits='320' id='type-id-180'> + <subrange length='10' type-id='type-id-3' id='type-id-181'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-51' size-in-bits='304' id='type-id-182'> + <subrange length='38' type-id='type-id-3' id='type-id-183'/> + </array-type-def> + <qualified-type-def type-id='type-id-44' const='yes' id='type-id-179'/> + <pointer-type-def type-id='type-id-46' size-in-bits='32' id='type-id-184'/> + <var-decl name='zng_vstring' type-id='type-id-182' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-44'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-31'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-44'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-180' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-184'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_avx.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <function-decl name='chunkmemset_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/chunkset_tpl.h' line='9' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <function-decl name='chunkcopy_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' line='88' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='chunkunroll_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' line='89' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-165'/> + <parameter type-id='type-id-165'/> + <return type-id='type-id-43'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-185'> + <subrange length='2' id='type-id-186'/> + </array-type-def> + <typedef-decl name='__m128i' type-id='type-id-185' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h' line='53' column='1' id='type-id-187'/> + <pointer-type-def type-id='type-id-187' size-in-bits='32' id='type-id-188'/> + <function-decl name='fold_16_vpclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' line='35' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-187'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='fold_16_vpclmulqdq_copy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' line='38' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-188'/> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-42'/> + </function-decl> + </abi-instr> + <abi-instr address-size='32' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1248' is-struct='yes' naming-typedef-id='type-id-189' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-190'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-134' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='fd' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='in' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='out' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='direct' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='how' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='start' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='eof' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='past' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='level' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='strategy' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='reset' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='skip' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='seek' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='err' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='800'> + <var-decl name='strm' type-id='type-id-47' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-190' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-189'/> + <typedef-decl name='__ssize_t' type-id='type-id-16' filepath='/usr/include/bits/types.h' line='194' column='1' id='type-id-191'/> + <typedef-decl name='ssize_t' type-id='type-id-191' filepath='/usr/include/stdio.h' line='77' column='1' id='type-id-138'/> + <pointer-type-def type-id='type-id-189' size-in-bits='32' id='type-id-192'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-46' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-42' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-16' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-16' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='32' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-133' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-16'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-192'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-44'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/include/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-138'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-46'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-42'/> + <return type-id='type-id-46'/> + </function-decl> + <function-decl name='close' filepath='/usr/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='32'> + <parameter type-id='type-id-16'/> + <return type-id='type-id-16'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu.abi b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu.abi new file mode 100644 index 0000000000..a03df554af --- /dev/null +++ b/neozip/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu.abi @@ -0,0 +1,2064 @@ +<abi-corpus version='2.0' path='btmp1/libz-ng.so.2.1.0.devel' architecture='elf-amd-x86_64' soname='libz-ng.so.2'> + <elf-needed> + <dependency name='libc.so.6'/> + <dependency name='ld-linux-x86-64.so.2'/> + </elf-needed> + <elf-function-symbols> + <elf-symbol name='zlibng_version' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_adler32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_compressBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_gen' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_combine_op' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_crc32_z' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateBound' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateGetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePending' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateSetParams' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_deflateTune' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_get_crc_table' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzbuffer' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclearerr' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_r' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzclose_w' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdirect' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzdopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzeof' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzerror' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzflush' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzfwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzgets' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzoffset' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzopen' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzputs' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzread' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzrewind' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzseek' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzsetparams' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gztell' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzungetc' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzvprintf' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_gzwrite' version='ZLIB_NG_GZ_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBack' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateBackInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCodesUsed' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateCopy' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateEnd' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateGetHeader' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit2_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit' version='ZLIB_NG_2.1.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateInit_' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateMark' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflatePrime' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateReset' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateResetKeep' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSetDictionary' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSync' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateSyncPoint' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateUndermine' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_inflateValidate' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress2' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_uncompress' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zError' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + <elf-symbol name='zng_zlibCompileFlags' version='ZLIB_NG_2.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-function-symbols> + <elf-variable-symbols> + <elf-symbol name='zng_vstring' size='38' version='ZLIB_NG_2.0.0' is-default-version='yes' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> + </elf-variable-symbols> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='long int' size-in-bits='64' id='type-id-1'/> + <type-decl name='unsigned char' size-in-bits='8' id='type-id-2'/> + <type-decl name='unsigned int' size-in-bits='32' id='type-id-3'/> + <type-decl name='unsigned long int' size-in-bits='64' id='type-id-4'/> + <typedef-decl name='uint32_t' type-id='type-id-5' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h' line='26' column='1' id='type-id-6'/> + <typedef-decl name='__uint32_t' type-id='type-id-3' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='42' column='1' id='type-id-5'/> + <typedef-decl name='__off64_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='153' column='1' id='type-id-7'/> + <typedef-decl name='off64_t' type-id='type-id-7' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='92' column='1' id='type-id-8'/> + <typedef-decl name='size_t' type-id='type-id-4' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h' line='209' column='1' id='type-id-9'/> + <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/> + <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-11'/> + <function-decl name='zng_adler32_z' mangled-name='zng_adler32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='61' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32' mangled-name='zng_adler32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='72' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_adler32_combine' mangled-name='zng_adler32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_adler32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='adler1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-6' name='adler2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32.c' line='112' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='void' id='type-id-12'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='char' size-in-bits='8' id='type-id-13'/> + <class-decl name='internal_state' size-in-bits='48512' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='113' column='1' id='type-id-14'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='pending_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pending_out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='pending_buf_size' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='117' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='pending' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='gzindex' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='gzhead' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='status' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='122' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='416'> + <var-decl name='last_flush' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='reproducible' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='block_open' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='w_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='w_bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='w_mask' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='608'> + <var-decl name='lookahead' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='high_water' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='window_size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='145' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='150' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='prev' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='160' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='head' type-id='type-id-19' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='166' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='ins_h' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='168' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='block_start' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='170' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='match_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='175' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='992'> + <var-decl name='prev_match' type-id='type-id-20' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='176' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='match_available' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='177' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1056'> + <var-decl name='strstart' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='178' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1088'> + <var-decl name='match_start' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='179' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1120'> + <var-decl name='prev_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='181' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1152'> + <var-decl name='max_chain_length' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='186' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='max_lazy_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='191' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='update_hash' type-id='type-id-21' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='201' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='insert_string' type-id='type-id-22' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='202' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='quick_insert_string' type-id='type-id-23' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='203' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='207' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1440'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='208' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='good_match' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='210' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='nice_match' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='213' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='215' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='2080'> + <var-decl name='dyn_ltree' type-id='type-id-25' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='219' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='20416'> + <var-decl name='dyn_dtree' type-id='type-id-26' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='220' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='22368'> + <var-decl name='bl_tree' type-id='type-id-27' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='221' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23616'> + <var-decl name='l_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='223' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='23808'> + <var-decl name='d_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='224' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24000'> + <var-decl name='bl_desc' type-id='type-id-28' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='225' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24192'> + <var-decl name='bl_count' type-id='type-id-29' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='227' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='24448'> + <var-decl name='heap' type-id='type-id-30' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='230' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42784'> + <var-decl name='heap_len' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='231' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42816'> + <var-decl name='heap_max' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='232' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='42848'> + <var-decl name='depth' type-id='type-id-31' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='237' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47456'> + <var-decl name='lit_bufsize' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='241' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47488'> + <var-decl name='sym_buf' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='261' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47552'> + <var-decl name='sym_next' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='262' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47584'> + <var-decl name='sym_end' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='263' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47616'> + <var-decl name='opt_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='265' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47680'> + <var-decl name='static_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='266' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47744'> + <var-decl name='matches' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='267' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47776'> + <var-decl name='insert' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='268' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47808'> + <var-decl name='compressed_len' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='271' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47872'> + <var-decl name='bits_sent' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='272' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='47936'> + <var-decl name='reserved_p' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='275' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48000'> + <var-decl name='bi_buf' type-id='type-id-33' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='277' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48064'> + <var-decl name='bi_valid' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='280' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='48096'> + <var-decl name='reserved' type-id='type-id-35' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='284' column='1'/> + </data-member> + </class-decl> + <type-decl name='int' size-in-bits='32' id='type-id-17'/> + <typedef-decl name='alloc_func' type-id='type-id-36' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='93' column='1' id='type-id-37'/> + <typedef-decl name='free_func' type-id='type-id-38' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='94' column='1' id='type-id-39'/> + <class-decl name='zng_stream_s' size-in-bits='832' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='98' column='1' id='type-id-40'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='next_in' type-id='type-id-41' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='avail_in' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='100' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='total_in' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='next_out' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='avail_out' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total_out' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='msg' type-id='type-id-43' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='state' type-id='type-id-44' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='108' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='zalloc' type-id='type-id-37' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='zfree' type-id='type-id-39' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='opaque' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='data_type' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='adler' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reserved' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='117' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_stream' type-id='type-id-40' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='118' column='1' id='type-id-46'/> + <typedef-decl name='int32_t' type-id='type-id-47' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-intn.h' line='26' column='1' id='type-id-34'/> + <typedef-decl name='uint8_t' type-id='type-id-48' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h' line='24' column='1' id='type-id-49'/> + <typedef-decl name='__uint8_t' type-id='type-id-2' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='38' column='1' id='type-id-48'/> + <typedef-decl name='__int32_t' type-id='type-id-17' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='41' column='1' id='type-id-47'/> + <qualified-type-def type-id='type-id-13' const='yes' id='type-id-50'/> + <pointer-type-def type-id='type-id-50' size-in-bits='64' id='type-id-43'/> + <qualified-type-def type-id='type-id-49' const='yes' id='type-id-51'/> + <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-41'/> + <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-44'/> + <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-52'/> + <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-42'/> + <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-16'/> + <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-38'/> + <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-45'/> + <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-36'/> + <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-15'/> + <function-decl name='zng_compress2' mangled-name='zng_compress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='31' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='32' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compress' mangled-name='zng_compress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='73' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_compressBound' mangled-name='zng_compressBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_compressBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/compress.c' line='81' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_deflateInit' mangled-name='zng_deflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflate' mangled-name='zng_deflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateEnd' mangled-name='zng_deflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-34'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-53'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-54'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='x86_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/x86_features.h' line='21' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <qualified-type-def type-id='type-id-6' const='yes' id='type-id-55'/> + <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-56'/> + <function-decl name='zng_get_crc_table' mangled-name='zng_get_crc_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_get_crc_table@@ZLIB_NG_2.0.0'> + <return type-id='type-id-56'/> + </function-decl> + <function-decl name='zng_crc32_z' mangled-name='zng_crc32_z' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_z@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <parameter type-id='type-id-9' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='29' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32' mangled-name='zng_crc32' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-11' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <parameter type-id='type-id-6' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid.c' line='41' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_crc32_combine' mangled-name='zng_crc32_combine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='46' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_gen' mangled-name='zng_crc32_combine_gen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_gen@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-8' name='len2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='49' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='zng_crc32_combine_op' mangled-name='zng_crc32_combine_op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_crc32_combine_op@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-6' name='crc1' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-6' name='crc2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <parameter type-id='type-id-55' name='op' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_braid_comb.c' line='52' column='1'/> + <return type-id='type-id-6'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1248' id='type-id-27'> + <subrange length='39' type-id='type-id-4' id='type-id-59'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='18336' id='type-id-25'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-58' size-in-bits='1952' id='type-id-26'> + <subrange length='61' type-id='type-id-4' id='type-id-61'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-34' size-in-bits='352' id='type-id-35'> + <subrange length='11' type-id='type-id-4' id='type-id-62'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='18336' id='type-id-30'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='256' id='type-id-29'> + <subrange length='16' type-id='type-id-4' id='type-id-64'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-49' size-in-bits='512' id='type-id-65'> + <subrange length='64' type-id='type-id-4' id='type-id-66'/> + </array-type-def> + <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-67'/> + <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='4584' id='type-id-31'> + <subrange length='573' type-id='type-id-4' id='type-id-60'/> + </array-type-def> + <type-decl name='unsigned short int' size-in-bits='16' id='type-id-68'/> + <class-decl name='crc32_fold_s' size-in-bits='544' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='11' column='1' id='type-id-24'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fold' type-id='type-id-65' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='12' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='value' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='13' column='1'/> + </data-member> + </class-decl> + <class-decl name='ct_data_s' size-in-bits='32' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='77' column='1' id='type-id-58'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='fc' type-id='type-id-69' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='81' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='dl' type-id='type-id-70' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='85' column='1'/> + </data-member> + </class-decl> + <union-decl name='__anonymous_union__' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='78' column='1' id='type-id-69'> + <data-member access='public'> + <var-decl name='freq' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='79' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='code' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='80' column='1'/> + </data-member> + </union-decl> + <union-decl name='__anonymous_union__1' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='82' column='1' id='type-id-70'> + <data-member access='public'> + <var-decl name='dad' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='83' column='1'/> + </data-member> + <data-member access='public'> + <var-decl name='len' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='84' column='1'/> + </data-member> + </union-decl> + <typedef-decl name='ct_data' type-id='type-id-58' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='86' column='1' id='type-id-71'/> + <typedef-decl name='static_tree_desc' type-id='type-id-57' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='93' column='1' id='type-id-72'/> + <class-decl name='tree_desc_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='95' column='1' id='type-id-28'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='dyn_tree' type-id='type-id-73' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='max_code' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='stat_desc' type-id='type-id-74' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='98' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='Pos' type-id='type-id-63' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='101' column='1' id='type-id-20'/> + <typedef-decl name='deflate_state' type-id='type-id-14' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='107' column='1' id='type-id-75'/> + <typedef-decl name='update_hash_cb' type-id='type-id-76' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='109' column='1' id='type-id-21'/> + <typedef-decl name='insert_string_cb' type-id='type-id-77' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='110' column='1' id='type-id-22'/> + <typedef-decl name='quick_insert_string_cb' type-id='type-id-78' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='111' column='1' id='type-id-23'/> + <enum-decl name='block_state' naming-typedef-id='type-id-79' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='287' column='1' id='type-id-80'> + <underlying-type type-id='type-id-67'/> + <enumerator name='need_more' value='0'/> + <enumerator name='block_done' value='1'/> + <enumerator name='finish_started' value='2'/> + <enumerator name='finish_done' value='3'/> + </enum-decl> + <typedef-decl name='block_state' type-id='type-id-80' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='292' column='1' id='type-id-79'/> + <typedef-decl name='zng_calloc_func' type-id='type-id-54' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='132' column='1' id='type-id-81'/> + <typedef-decl name='zng_cfree_func' type-id='type-id-53' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='133' column='1' id='type-id-82'/> + <class-decl name='zng_gz_header_s' size-in-bits='640' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='126' column='1' id='type-id-83'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='text' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='time' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='xflags' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='os' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='extra' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='extra_len' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='288'> + <var-decl name='extra_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='name' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='134' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='name_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='135' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='comment' type-id='type-id-42' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='136' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='comm_max' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='137' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='hcrc' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='138' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='done' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='139' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_gz_header' type-id='type-id-83' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='140' column='1' id='type-id-84'/> + <typedef-decl name='zng_gz_headerp' type-id='type-id-85' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='142' column='1' id='type-id-18'/> + <enum-decl name='zng_deflate_param' naming-typedef-id='type-id-86' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1800' column='1' id='type-id-87'> + <underlying-type type-id='type-id-67'/> + <enumerator name='Z_DEFLATE_LEVEL' value='0'/> + <enumerator name='Z_DEFLATE_STRATEGY' value='1'/> + <enumerator name='Z_DEFLATE_REPRODUCIBLE' value='2'/> + </enum-decl> + <typedef-decl name='zng_deflate_param' type-id='type-id-87' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1810' column='1' id='type-id-86'/> + <class-decl name='zng_deflate_param_value' size-in-bits='256' is-struct='yes' naming-typedef-id='type-id-88' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1812' column='1' id='type-id-89'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='param' type-id='type-id-86' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1813' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='buf' type-id='type-id-45' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1814' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='size' type-id='type-id-9' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1815' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='status' type-id='type-id-34' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1816' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='zng_deflate_param_value' type-id='type-id-89' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1817' column='1' id='type-id-88'/> + <typedef-decl name='uint16_t' type-id='type-id-90' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h' line='25' column='1' id='type-id-63'/> + <typedef-decl name='uint64_t' type-id='type-id-91' filepath='/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h' line='27' column='1' id='type-id-33'/> + <typedef-decl name='__uint16_t' type-id='type-id-68' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='40' column='1' id='type-id-90'/> + <typedef-decl name='__uint64_t' type-id='type-id-4' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='45' column='1' id='type-id-91'/> + <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-19'/> + <pointer-type-def type-id='type-id-13' size-in-bits='64' id='type-id-32'/> + <qualified-type-def type-id='type-id-72' const='yes' id='type-id-92'/> + <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-74'/> + <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/> + <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-93'/> + <qualified-type-def type-id='type-id-93' const='yes' id='type-id-94'/> + <pointer-type-def type-id='type-id-34' size-in-bits='64' id='type-id-95'/> + <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-78'/> + <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-76'/> + <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-98'/> + <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-77'/> + <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-100'/> + <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-101'/> + <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-102'/> + <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-85'/> + <class-decl name='static_tree_desc_s' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-57'/> + <function-decl name='cpu_check_features' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='deflate_stored' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_fast' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_quick' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_medium' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_slow' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_rle' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='deflate_huff' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-79'/> + </function-decl> + <function-decl name='update_hash_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='quick_insert_string_roll' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='zng_deflateInit2' mangled-name='zng_deflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='192' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit_' mangled-name='zng_deflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='329' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateInit2_' mangled-name='zng_deflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='method' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='336' column='1'/> + <parameter type-id='type-id-34' name='memLevel' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='337' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetDictionary' mangled-name='zng_deflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='366' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetDictionary' mangled-name='zng_deflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='425' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateResetKeep' mangled-name='zng_deflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='444' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateReset' mangled-name='zng_deflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='483' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetHeader' mangled-name='zng_deflateSetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='493' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePending' mangled-name='zng_deflatePending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePending@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-98' name='pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <parameter type-id='type-id-95' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='501' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflatePrime' mangled-name='zng_deflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='512' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateParams' mangled-name='zng_deflateParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <parameter type-id='type-id-34' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='540' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateTune' mangled-name='zng_deflateTune' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateTune@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='good_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_lazy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='nice_length' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <parameter type-id='type-id-34' name='max_chain' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='583' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateBound' mangled-name='zng_deflateBound' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateBound@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <parameter type-id='type-id-4' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='613' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_deflateCopy' mangled-name='zng_deflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1045' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateSetParams' mangled-name='zng_deflateSetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateSetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <parameter type-id='type-id-9' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1309' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_deflateGetParams' mangled-name='zng_deflateGetParams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_deflateGetParams@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-102' name='params' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <parameter type-id='type-id-9' name='count' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.c' line='1385' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_tr_init' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='380' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_flush_bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_align' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='383' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_stored_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_zcalloc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_zcfree' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_alloc_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-100'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='zng_free_aligned' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-101'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-96'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-20'/> + </function-type> + <function-type size-in-bits='64' id='type-id-97'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-99'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_fast.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_fill_window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_tr_flush_block' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='381' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <parameter type-id='type-id-32'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_flush_pending' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_stored.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_read_buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate_p.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-16'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-3'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <typedef-decl name='crc32_fold' type-id='type-id-24' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='14' column='1' id='type-id-103'/> + <class-decl name='functable_s' size-in-bits='1088' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='19' column='1' id='type-id-104'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='adler32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='20' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='adler32_fold_copy' type-id='type-id-106' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='21' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='crc32' type-id='type-id-105' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='22' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='crc32_fold_reset' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='23' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='crc32_fold_copy' type-id='type-id-108' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='24' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='crc32_fold' type-id='type-id-109' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='25' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='crc32_fold_final' type-id='type-id-107' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='26' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='compare256' type-id='type-id-110' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='27' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='chunksize' type-id='type-id-111' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='chunkmemset_safe' type-id='type-id-112' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='inflate_fast' type-id='type-id-113' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='30' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='insert_string' type-id='type-id-77' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='31' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='longest_match' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='32' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='longest_match_slow' type-id='type-id-114' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='33' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='quick_insert_string' type-id='type-id-78' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='34' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='slide_hash' type-id='type-id-115' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='35' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='update_hash' type-id='type-id-76' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='36' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-116'/> + <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-117'/> + <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-111'/> + <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-110'/> + <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-107'/> + <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-114'/> + <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-105'/> + <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-106'/> + <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-112'/> + <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-109'/> + <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-108'/> + <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-115'/> + <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-113'/> + <function-decl name='adler32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/adler32_fold.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='28' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_ssse3' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx512' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_avx512_vnni' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_sse42' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx512' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='adler32_fold_copy_avx512_vnni' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_reset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_copy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_pclmulqdq_final' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_pclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunksize_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunksize_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunkmemset_safe_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunksize_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='chunkmemset_safe_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='inflate_fast_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='inflate_fast_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='inflate_fast_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='inflate_fast_avx' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_crc32_braid' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='compare256_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='insert_string_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='longest_match_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_unaligned_64' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='longest_match_slow_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='quick_insert_string_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='215' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='quick_insert_string_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='217' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-55'/> + <return type-id='type-id-20'/> + </function-decl> + <function-decl name='slide_hash_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='226' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='slide_hash_avx2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='237' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='update_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='241' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='update_hash_sse4' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/cpu_features.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_reset_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='16' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='crc32_fold_copy_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='18' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='crc32_fold_final_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/crc32_fold.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-116'/> + <return type-id='type-id-6'/> + </function-decl> + <function-decl name='slide_hash_c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/deflate.h' line='377' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-decl> + <var-decl name='functable' type-id='type-id-104' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/functable.h' line='39' column='1'/> + <function-type size-in-bits='64' id='type-id-118'> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-119'> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-41'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-120'> + <parameter type-id='type-id-117'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-121'> + <parameter type-id='type-id-94'/> + <parameter type-id='type-id-20'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-122'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-123'> + <parameter type-id='type-id-6'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-6'/> + </function-type> + <function-type size-in-bits='64' id='type-id-124'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-type> + <function-type size-in-bits='64' id='type-id-125'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-126'> + <parameter type-id='type-id-117'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-127'> + <parameter type-id='type-id-93'/> + <return type-id='type-id-12'/> + </function-type> + <function-type size-in-bits='64' id='type-id-128'> + <parameter type-id='type-id-15'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-12'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <type-decl name='variadic parameter type' id='type-id-129'/> + <typedef-decl name='gzFile' type-id='type-id-130' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1285' column='1' id='type-id-131'/> + <class-decl name='gzFile_s' size-in-bits='192' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1790' column='1' id='type-id-132'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='have' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1791' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='next' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1792' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='pos' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1793' column='1'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-130'/> + <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-133'/> + <function-decl name='zng_gzopen' mangled-name='zng_gzopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-43' name='path' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='215' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzdopen' mangled-name='zng_gzdopen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdopen@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='fd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <parameter type-id='type-id-43' name='mode' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='226' column='1'/> + <return type-id='type-id-131'/> + </function-decl> + <function-decl name='zng_gzclose' mangled-name='zng_gzclose' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='245' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzbuffer' mangled-name='zng_gzbuffer' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzbuffer@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <parameter type-id='type-id-3' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='260' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzrewind' mangled-name='zng_gzrewind' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzrewind@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='284' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzseek' mangled-name='zng_gzseek' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzseek@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-8' name='offset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <parameter type-id='type-id-17' name='whence' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='304' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gztell' mangled-name='zng_gztell' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gztell@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='385' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzoffset' mangled-name='zng_gzoffset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzoffset@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='411' column='1'/> + <return type-id='type-id-8'/> + </function-decl> + <function-decl name='zng_gzeof' mangled-name='zng_gzeof' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzeof@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='442' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzerror' mangled-name='zng_gzerror' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzerror@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <parameter type-id='type-id-133' name='errnum' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='457' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_gzclearerr' mangled-name='zng_gzclearerr' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclearerr@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzlib.c' line='474' column='1'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_gzclose_r' mangled-name='zng_gzclose_r' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_r@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_gzclose_w' mangled-name='zng_gzclose_w' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzclose_w@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='540' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-9'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strlen' filepath='/usr/include/string.h' line='407' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='lseek64' filepath='/usr/include/unistd.h' line='350' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-7'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-7'/> + </function-decl> + <function-decl name='__open_2' filepath='/usr/include/x86_64-linux-gnu/bits/fcntl2.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-43'/> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='__open_too_many_args' filepath='/usr/include/x86_64-linux-gnu/bits/fcntl2.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='__open_missing_mode' filepath='/usr/include/x86_64-linux-gnu/bits/fcntl2.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-12'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='__va_list_tag' size-in-bits='192' is-struct='yes' visibility='default' id='type-id-134'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='gp_offset' type-id='type-id-3' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='32'> + <var-decl name='fp_offset' type-id='type-id-3' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='overflow_arg_area' type-id='type-id-45' visibility='default'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='reg_save_area' type-id='type-id-45' visibility='default'/> + </data-member> + </class-decl> + <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-135'/> + <function-decl name='zng_gzwrite' mangled-name='zng_gzwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='234' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfwrite' mangled-name='zng_gzfwrite' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfwrite@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-9' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='258' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzputc' mangled-name='zng_gzputc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='287' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzputs' mangled-name='zng_gzputs' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzputs@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <parameter type-id='type-id-43' name='s' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='332' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzvprintf' mangled-name='zng_gzvprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzvprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <parameter type-id='type-id-135' name='va' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='356' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzprintf' mangled-name='zng_gzprintf' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzprintf@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter type-id='type-id-43' name='format' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='412' column='1'/> + <parameter is-variadic='yes'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzflush' mangled-name='zng_gzflush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzflush@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <parameter type-id='type-id-17' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='423' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzsetparams' mangled-name='zng_gzsetparams' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzsetparams@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='level' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <parameter type-id='type-id-17' name='strategy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzwrite.c' line='452' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='write' filepath='/usr/include/unistd.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-136'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='61568' id='type-id-138'> + <subrange length='1924' type-id='type-id-4' id='type-id-139'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='4608' id='type-id-140'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-63' size-in-bits='5120' id='type-id-142'> + <subrange length='320' type-id='type-id-4' id='type-id-143'/> + </array-type-def> + <enum-decl name='inflate_mode' naming-typedef-id='type-id-144' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='25' column='1' id='type-id-145'> + <underlying-type type-id='type-id-67'/> + <enumerator name='HEAD' value='16180'/> + <enumerator name='FLAGS' value='16181'/> + <enumerator name='TIME' value='16182'/> + <enumerator name='OS' value='16183'/> + <enumerator name='EXLEN' value='16184'/> + <enumerator name='EXTRA' value='16185'/> + <enumerator name='NAME' value='16186'/> + <enumerator name='COMMENT' value='16187'/> + <enumerator name='HCRC' value='16188'/> + <enumerator name='DICTID' value='16189'/> + <enumerator name='DICT' value='16190'/> + <enumerator name='TYPE' value='16191'/> + <enumerator name='TYPEDO' value='16192'/> + <enumerator name='STORED' value='16193'/> + <enumerator name='COPY_' value='16194'/> + <enumerator name='COPY' value='16195'/> + <enumerator name='TABLE' value='16196'/> + <enumerator name='LENLENS' value='16197'/> + <enumerator name='CODELENS' value='16198'/> + <enumerator name='LEN_' value='16199'/> + <enumerator name='LEN' value='16200'/> + <enumerator name='LENEXT' value='16201'/> + <enumerator name='DIST' value='16202'/> + <enumerator name='DISTEXT' value='16203'/> + <enumerator name='MATCH' value='16204'/> + <enumerator name='LIT' value='16205'/> + <enumerator name='CHECK' value='16206'/> + <enumerator name='LENGTH' value='16207'/> + <enumerator name='DONE' value='16208'/> + <enumerator name='BAD' value='16209'/> + <enumerator name='MEM' value='16210'/> + <enumerator name='SYNC' value='16211'/> + </enum-decl> + <typedef-decl name='inflate_mode' type-id='type-id-145' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='58' column='1' id='type-id-144'/> + <class-decl name='inflate_state' size-in-bits='73216' is-struct='yes' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='87' column='1' id='type-id-146'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='strm' type-id='type-id-15' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='88' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='64'> + <var-decl name='mode' type-id='type-id-144' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='89' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='96'> + <var-decl name='last' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='90' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='128'> + <var-decl name='wrap' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='91' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='160'> + <var-decl name='havedict' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='93' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='94' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='dmax' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='96' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='check' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='97' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='total' type-id='type-id-4' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='98' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='head' type-id='type-id-18' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='99' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='wbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='101' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='480'> + <var-decl name='wsize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='102' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='whave' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='103' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='wnext' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='window' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='105' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='crc_fold' type-id='type-id-24' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='107' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1184'> + <var-decl name='hold' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1216'> + <var-decl name='bits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1248'> + <var-decl name='length' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1280'> + <var-decl name='offset' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1312'> + <var-decl name='extra' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1344'> + <var-decl name='lencode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1408'> + <var-decl name='distcode' type-id='type-id-147' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1472'> + <var-decl name='lenbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1504'> + <var-decl name='distbits' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1536'> + <var-decl name='ncode' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1568'> + <var-decl name='nlen' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1600'> + <var-decl name='ndist' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1632'> + <var-decl name='have' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='126' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1664'> + <var-decl name='next' type-id='type-id-148' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1728'> + <var-decl name='lens' type-id='type-id-142' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='6848'> + <var-decl name='work' type-id='type-id-140' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='129' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='11456'> + <var-decl name='codes' type-id='type-id-138' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73024'> + <var-decl name='sane' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73056'> + <var-decl name='back' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='132' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73088'> + <var-decl name='was' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='133' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='73120'> + <var-decl name='chunksize' type-id='type-id-6' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='134' column='1'/> + </data-member> + </class-decl> + <class-decl name='code' size-in-bits='32' is-struct='yes' naming-typedef-id='type-id-137' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='27' column='1' id='type-id-149'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='op' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='28' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='8'> + <var-decl name='bits' type-id='type-id-2' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='29' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='16'> + <var-decl name='val' type-id='type-id-63' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='30' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='code' type-id='type-id-149' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='31' column='1' id='type-id-137'/> + <enum-decl name='codetype' naming-typedef-id='type-id-150' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='57' column='1' id='type-id-151'> + <underlying-type type-id='type-id-67'/> + <enumerator name='CODES' value='0'/> + <enumerator name='LENS' value='1'/> + <enumerator name='DISTS' value='2'/> + </enum-decl> + <typedef-decl name='codetype' type-id='type-id-151' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='61' column='1' id='type-id-150'/> + <typedef-decl name='in_func' type-id='type-id-152' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1075' column='1' id='type-id-153'/> + <typedef-decl name='out_func' type-id='type-id-154' filepath='/mnt/c/build/git/zlib-ng/btmp1/zlib-ng.h' line='1076' column='1' id='type-id-155'/> + <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-148'/> + <pointer-type-def type-id='type-id-148' size-in-bits='64' id='type-id-156'/> + <qualified-type-def type-id='type-id-137' const='yes' id='type-id-157'/> + <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-147'/> + <pointer-type-def type-id='type-id-41' size-in-bits='64' id='type-id-158'/> + <pointer-type-def type-id='type-id-146' size-in-bits='64' id='type-id-159'/> + <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-154'/> + <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-152'/> + <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-162'/> + <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-163'/> + <function-decl name='zng_inflateBackInit' mangled-name='zng_inflateBackInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='34' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackInit_' mangled-name='zng_inflateBackInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-42' name='window' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='63' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='64' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBack' mangled-name='zng_inflateBack' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBack@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-153' name='in' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='in_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-155' name='out' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <parameter type-id='type-id-45' name='out_desc' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='142' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateBackEnd' mangled-name='zng_inflateBackEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateBackEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/infback.c' line='504' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_fixedtables' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-159'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='zng_inflate_table' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inftrees.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-150'/> + <parameter type-id='type-id-162'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-156'/> + <parameter type-id='type-id-163'/> + <parameter type-id='type-id-162'/> + <return type-id='type-id-17'/> + </function-decl> + <function-type size-in-bits='64' id='type-id-160'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-6'/> + <return type-id='type-id-34'/> + </function-type> + <function-type size-in-bits='64' id='type-id-161'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-158'/> + <return type-id='type-id-6'/> + </function-type> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_inflateResetKeep' mangled-name='zng_inflateResetKeep' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateResetKeep@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='62' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset' mangled-name='zng_inflateReset' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='89' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateReset2' mangled-name='zng_inflateReset2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateReset2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='101' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2' mangled-name='zng_inflateInit2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='139' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit' mangled-name='zng_inflateInit' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit@@ZLIB_NG_2.1.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='172' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit_' mangled-name='zng_inflateInit_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='178' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateInit2_' mangled-name='zng_inflateInit2_' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateInit2_@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='windowBits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-43' name='version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <parameter type-id='type-id-34' name='stream_size' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='185' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflatePrime' mangled-name='zng_inflatePrime' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflatePrime@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='bits' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <parameter type-id='type-id-34' name='value' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='191' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflate' mangled-name='zng_inflate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <parameter type-id='type-id-34' name='flush' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='414' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateEnd' mangled-name='zng_inflateEnd' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateEnd@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1138' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetDictionary' mangled-name='zng_inflateGetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-42' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <parameter type-id='type-id-98' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1151' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSetDictionary' mangled-name='zng_inflateSetDictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSetDictionary@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-41' name='dictionary' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <parameter type-id='type-id-6' name='dictLength' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1171' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateGetHeader' mangled-name='zng_inflateGetHeader' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateGetHeader@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <parameter type-id='type-id-18' name='head' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1204' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSync' mangled-name='zng_inflateSync' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSync@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1249' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateSyncPoint' mangled-name='zng_inflateSyncPoint' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateSyncPoint@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1310' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateCopy' mangled-name='zng_inflateCopy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCopy@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <parameter type-id='type-id-15' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1320' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateUndermine' mangled-name='zng_inflateUndermine' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateUndermine@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <parameter type-id='type-id-34' name='subvert' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1362' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateValidate' mangled-name='zng_inflateValidate' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateValidate@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <parameter type-id='type-id-34' name='check' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1378' column='1'/> + <return type-id='type-id-34'/> + </function-decl> + <function-decl name='zng_inflateMark' mangled-name='zng_inflateMark' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateMark@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1391' column='1'/> + <return type-id='type-id-1'/> + </function-decl> + <function-decl name='zng_inflateCodesUsed' mangled-name='zng_inflateCodesUsed' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_inflateCodesUsed@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-15' name='strm' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/inflate.c' line='1403' column='1'/> + <return type-id='type-id-4'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='9216' id='type-id-165'> + <subrange length='288' type-id='type-id-4' id='type-id-141'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-164' size-in-bits='960' id='type-id-166'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='928' id='type-id-169'> + <subrange length='29' type-id='type-id-4' id='type-id-170'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-168' size-in-bits='960' id='type-id-171'> + <subrange length='30' type-id='type-id-4' id='type-id-167'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='2048' id='type-id-172'> + <subrange length='256' type-id='type-id-4' id='type-id-173'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-174'> + <subrange length='512' type-id='type-id-4' id='type-id-175'/> + </array-type-def> + <qualified-type-def type-id='type-id-71' const='yes' id='type-id-164'/> + <qualified-type-def type-id='type-id-17' const='yes' id='type-id-168'/> + <var-decl name='static_ltree' type-id='type-id-165' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='14' column='1'/> + <var-decl name='static_dtree' type-id='type-id-166' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='15' column='1'/> + <var-decl name='zng_dist_code' type-id='type-id-174' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='17' column='1'/> + <var-decl name='zng_length_code' type-id='type-id-172' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='18' column='1'/> + <var-decl name='base_length' type-id='type-id-169' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='20' column='1'/> + <var-decl name='base_dist' type-id='type-id-171' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/trees_emit.h' line='21' column='1'/> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <function-decl name='zng_uncompress2' mangled-name='zng_uncompress2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress2@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <parameter type-id='type-id-52' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='25' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_uncompress' mangled-name='zng_uncompress' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_uncompress@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-16' name='dest' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-52' name='destLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-11' name='source' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <parameter type-id='type-id-9' name='sourceLen' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/uncompr.c' line='78' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <array-type-def dimensions='1' type-id='type-id-176' size-in-bits='640' id='type-id-177'> + <subrange length='10' type-id='type-id-4' id='type-id-178'/> + </array-type-def> + <array-type-def dimensions='1' type-id='type-id-50' size-in-bits='304' id='type-id-179'> + <subrange length='38' type-id='type-id-4' id='type-id-180'/> + </array-type-def> + <qualified-type-def type-id='type-id-43' const='yes' id='type-id-176'/> + <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-181'/> + <var-decl name='zng_vstring' type-id='type-id-179' mangled-name='zng_vstring' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='23' column='1' elf-symbol-id='zng_vstring@@ZLIB_NG_2.0.0'/> + <function-decl name='zlibng_version' mangled-name='zlibng_version' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zlibng_version@@ZLIB_NG_2.1.0'> + <return type-id='type-id-43'/> + </function-decl> + <function-decl name='zng_zlibCompileFlags' mangled-name='zng_zlibCompileFlags' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zlibCompileFlags@@ZLIB_NG_2.0.0'> + <return type-id='type-id-4'/> + </function-decl> + <function-decl name='zng_zError' mangled-name='zng_zError' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_zError@@ZLIB_NG_2.0.0'> + <parameter type-id='type-id-17' name='err' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.c' line='99' column='1'/> + <return type-id='type-id-43'/> + </function-decl> + <var-decl name='zng_z_errmsg' type-id='type-id-177' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/zutil.h' line='24' column='1'/> + <function-decl name='free' filepath='/usr/include/stdlib.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='posix_memalign' filepath='/usr/include/stdlib.h' line='586' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-181'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-17'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_avx.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <function-decl name='chunkmemset_sse41' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/chunkset_tpl.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-3'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <function-decl name='chunkcopy_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-3'/> + <return type-id='type-id-42'/> + </function-decl> + <function-decl name='chunkunroll_sse2' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/chunkset_sse41.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-163'/> + <parameter type-id='type-id-163'/> + <return type-id='type-id-42'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1/arch/x86' language='LANG_C11'> + <type-decl name='long long int' size-in-bits='64' id='type-id-182'/> + <array-type-def dimensions='1' type-id='type-id-182' size-in-bits='128' id='type-id-183'> + <subrange length='2' id='type-id-184'/> + </array-type-def> + <typedef-decl name='__m128i' type-id='type-id-183' filepath='/usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h' line='53' column='1' id='type-id-185'/> + <pointer-type-def type-id='type-id-185' size-in-bits='64' id='type-id-186'/> + <function-decl name='fold_16_vpclmulqdq' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-185'/> + <parameter type-id='type-id-34'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='fold_16_vpclmulqdq_copy' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/arch/x86/crc32_fold_pclmulqdq.c' line='38' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-186'/> + <parameter type-id='type-id-42'/> + <parameter type-id='type-id-41'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-9'/> + </function-decl> + </abi-instr> + <abi-instr address-size='64' path='gzread.c' comp-dir-path='/mnt/c/build/git/zlib-ng/btmp1' language='LANG_C11'> + <class-decl name='gz_state' size-in-bits='1856' is-struct='yes' naming-typedef-id='type-id-187' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='102' column='1' id='type-id-188'> + <data-member access='public' layout-offset-in-bits='0'> + <var-decl name='x' type-id='type-id-132' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='104' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='192'> + <var-decl name='mode' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='109' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='224'> + <var-decl name='fd' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='110' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='256'> + <var-decl name='path' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='111' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='320'> + <var-decl name='size' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='112' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='352'> + <var-decl name='want' type-id='type-id-3' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='113' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='384'> + <var-decl name='in' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='114' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='448'> + <var-decl name='out' type-id='type-id-16' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='115' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='512'> + <var-decl name='direct' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='116' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='544'> + <var-decl name='how' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='118' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='576'> + <var-decl name='start' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='119' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='640'> + <var-decl name='eof' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='120' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='672'> + <var-decl name='past' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='121' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='704'> + <var-decl name='level' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='123' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='736'> + <var-decl name='strategy' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='124' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='768'> + <var-decl name='reset' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='125' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='832'> + <var-decl name='skip' type-id='type-id-8' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='127' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='896'> + <var-decl name='seek' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='128' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='928'> + <var-decl name='err' type-id='type-id-17' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='130' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='960'> + <var-decl name='msg' type-id='type-id-32' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='131' column='1'/> + </data-member> + <data-member access='public' layout-offset-in-bits='1024'> + <var-decl name='strm' type-id='type-id-46' visibility='default' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='133' column='1'/> + </data-member> + </class-decl> + <typedef-decl name='gz_state' type-id='type-id-188' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='134' column='1' id='type-id-187'/> + <typedef-decl name='ssize_t' type-id='type-id-189' filepath='/usr/include/stdio.h' line='77' column='1' id='type-id-136'/> + <typedef-decl name='__ssize_t' type-id='type-id-1' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='194' column='1' id='type-id-189'/> + <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-190'/> + <function-decl name='zng_gzread' mangled-name='zng_gzread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <parameter type-id='type-id-3' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='345' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzfread' mangled-name='zng_gzfread' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzfread@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-45' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-9' name='size' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-9' name='nitems' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='377' column='1'/> + <return type-id='type-id-9'/> + </function-decl> + <function-decl name='zng_gzgetc' mangled-name='zng_gzgetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='409' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzungetc' mangled-name='zng_gzungetc' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzungetc@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-17' name='c' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='440' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='zng_gzgets' mangled-name='zng_gzgets' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzgets@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-32' name='buf' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <parameter type-id='type-id-17' name='len' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='496' column='1'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='zng_gzdirect' mangled-name='zng_gzdirect' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zng_gzdirect@@ZLIB_NG_GZ_2.0.0'> + <parameter type-id='type-id-131' name='file' filepath='/mnt/c/build/git/zlib-ng/btmp1/gzread.c' line='557' column='1'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='gz_error' filepath='/mnt/c/build/git/zlib-ng/btmp1/src.d/gzguts.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-190'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-43'/> + <return type-id='type-id-12'/> + </function-decl> + <function-decl name='__errno_location' filepath='/usr/include/errno.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64'> + <return type-id='type-id-133'/> + </function-decl> + <function-decl name='memchr' filepath='/usr/include/string.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-45'/> + </function-decl> + <function-decl name='strerror' filepath='/usr/include/string.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-32'/> + </function-decl> + <function-decl name='close' filepath='/usr/include/unistd.h' line='358' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <return type-id='type-id-17'/> + </function-decl> + <function-decl name='__read_chk' filepath='/usr/include/x86_64-linux-gnu/bits/unistd.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64'> + <parameter type-id='type-id-17'/> + <parameter type-id='type-id-45'/> + <parameter type-id='type-id-9'/> + <parameter type-id='type-id-9'/> + <return type-id='type-id-136'/> + </function-decl> + </abi-instr> +</abi-corpus> diff --git a/neozip/test/abicheck.md b/neozip/test/abicheck.md new file mode 100644 index 0000000000..57337f5882 --- /dev/null +++ b/neozip/test/abicheck.md @@ -0,0 +1,59 @@ +ABI Compatibility test +---------------------- + +abicheck.sh uses libabigail to check ABI stability. +It will abort if the current source +tree has a change that breaks binary compatibility. + +This protects against the common scenario where: +- an app is compiled against the current zlib-ng +- the system package manager updates the zlib-ng shared library +- the app now crashes because some symbol is + missing or some public structure or parameter + has changed type or size + +If run with --zlib-compat, it verifies that the +current source tree generates a library that +is ABI-compatible with the reference release +of classic zlib. This ensures that building +zlib-ng with --zlib-compat does what it says on the tin. + +abicheck.sh is not perfect, but it can catch +many common compatibility issues. + +Cached files test/abi/*.abi +--------------------------- + +Comparing to the old version of zlib (or zlib-ng) +means someone has to check out and build +the previous source tree and extract its .abi +using abidw. This can be slow. + +If you don't mind the slowness, run abicheck.sh --refresh-if, +and it will download and build the reference version +and extract the .abi on the spot if needed. +(FIXME: should this be the default?) + +On the next run, the reference .abi file will already be +present, and that step will be skipped. +It's stored in the tests/abi directory, +in a file with the architecture and git hash in the name. + +If you're running continuous integration +which clear out the source tree on each run, +and you don't want your build machines +constantly downloading and building the old +version, you can check the .abi file into git. + +To make this easier, a helper script could be written to automatically build +all the configurations tested by .github/workflows/abicheck.yml +Then they could be checked into git en masse by a maintainer +when a new platform is added or a new major version (which +intentionally breaks backwards compatibility) is being prepared. + +Further reading +--------------- + +- https://sourceware.org/libabigail/manual/ +- https://developers.redhat.com/blog/2014/10/23/comparing-abis-for-compatibility-with-libabigail-part-1/ +- https://developers.redhat.com/blog/2020/04/02/how-to-write-an-abi-compliance-checker-using-libabigail/ diff --git a/neozip/test/abicheck.sh b/neozip/test/abicheck.sh new file mode 100755 index 0000000000..1656711f62 --- /dev/null +++ b/neozip/test/abicheck.sh @@ -0,0 +1,163 @@ +#!/bin/sh +set -ex +TESTDIR="$(cd $(dirname "$0"); pwd)" + +usage() { + cat <<_EOF_ +Usage: $0 [--zlib-compat][--refresh][--refresh-if] + +Build shared library with -ggdb, then compare its ABI to the stable +ABI, and abort if differences found. + +Options: +--zlib-compat - check the ABI of the zlib-compatible flavor of zlib-ng. +--refresh - build the reference library and extract its ABI rather than using a stored ABI file. +--refresh-if - refresh only if ABI file not present. + +Obeys CHOST, CONFIGURE_ARGS, CFLAGS, and LDFLAGS. + +Requires libabigail (on Ubuntu, install package abigail-tools). +_EOF_ +} + +# Print the multiarch tuple for the current (non-cross) machine, +# or the empty string if unavailable. +detect_chost() { + dpkg-architecture -qDEB_HOST_MULTIARCH || + $CC -print-multiarch || + $CC -print-search-dirs | sed 's/:/\n/g' | grep -E '^/lib/[^/]+$' | sed 's%.*/%%' || + true +} + +if ! test -f "configure" +then + echo "Please run from top of source tree" + exit 1 +fi + +suffix="-ng" +CONFIGURE_ARGS_NG="$CONFIGURE_ARGS" +refresh=false +refresh_if=false +for arg +do + case "$arg" in + --zlib-compat) + suffix="" + CONFIGURE_ARGS_NG="$CONFIGURE_ARGS_NG --zlib-compat" + ;; + --refresh) + refresh=true + ;; + --refresh-if) + refresh_if=true + ;; + --help) + usage + exit 0 + ;; + *) + echo "Unknown arg '$arg'" + usage + exit 1 + ;; + esac +done + +# Choose reference repo and commit +if test "$suffix" = "" +then + # Reference is zlib 1.2.13. + ABI_GIT_REPO=https://github.com/madler/zlib.git + ABI_GIT_COMMIT=04f42ceca40f73e2978b50e93806c2a18c1281fc +else + # Reference is most recent zlib-ng develop with zlib 1.2.12 compatible api. + ABI_GIT_REPO=https://github.com/zlib-ng/zlib-ng.git + ABI_GIT_COMMIT=e4614ebcb9b3e5b108dc983c155e4baf80882311 +fi + +# Test compat build for ABI compatibility with zlib +if test "$CHOST" = "" +then + # Note: don't export CHOST here, as we don't want configure seeing it + # when it's just the name for the build machine. + # Leave it as a plain shell variable, not an environment variable. + CHOST=$(detect_chost) + # Support -m32 for non-cross builds. + case "$CFLAGS" in + *-m32*) M32="-m32";; + *) M32="";; + esac +fi + +# Canonicalize CHOST to work around bug in original zlib's configure +# (Don't export it if it wasn't already exported, else may cause +# default compiler detection failure and shared library link error +# when building both zlib and zlib-ng. +# See https://github.com/zlib-ng/zlib-ng/issues/1219) +CHOST=$(sh $TESTDIR/../tools/config.sub $CHOST) + +if test "$CHOST" = "" +then + echo "abicheck: SKIP, as we don't know CHOST" + exit 0 +fi + +ABIFILE="test/abi/zlib$suffix-$ABI_GIT_COMMIT-$CHOST$M32.abi" +if ! $refresh && $refresh_if && ! test -f "$ABIFILE" +then + refresh=true +fi +abidw --version + +if $refresh +then + # Check out reference source + rm -rf btmp1 + mkdir -p btmp1/src.d + cd btmp1/src.d + git init + git remote add origin $ABI_GIT_REPO + git fetch origin $ABI_GIT_COMMIT + git reset --hard FETCH_HEAD + cd .. + # Build unstripped, uninstalled, very debug shared library + CFLAGS="$CFLAGS -ggdb" src.d/configure $CONFIGURE_ARGS + make -j2 + cd .. + # Find shared library, extract its abi + dylib1=$(find btmp1 -type f -name '*.dylib*' -print -o -type f -name '*.so.*' -print) + abidw $dylib1 > "$ABIFILE" + # Maintainers may wish to check $ABIFILE into git when a new + # target is added, or when a major release happens that is + # intended to change the ABI. Alternately, this script could + # just always rebuild the reference source, and dispense with + # caching abi files in git (but that would slow builds down). +fi + +if ! test -f "$ABIFILE" +then + echo "abicheck: SKIP: $ABIFILE not found; rerun with --refresh or --refresh-if" + exit 1 +fi + +# Build unstripped, uninstalled, very debug shared library +rm -rf btmp2 +mkdir btmp2 +cd btmp2 +CFLAGS="$CFLAGS -ggdb" ../configure $CONFIGURE_ARGS_NG +make -j2 +cd .. +# Find shared library, extract its abi +dylib2=$(find btmp2 -type f -name '*.dylib*' -print -o -type f -name '*.so.*' -print) +abidw $dylib2 > btmp2/zlib${suffix}-built.abi + +# Compare it to the reference +# FIXME: use --no-added-syms for now, but we probably want to be more strict. +if abidiff --no-added-syms --suppressions test/abi/ignore "$ABIFILE" btmp2/zlib${suffix}-built.abi +then + echo "abicheck: PASS" +else + echo "abicheck: FAIL" + exit 1 +fi diff --git a/neozip/test/add-subdirectory-project/CMakeLists.txt b/neozip/test/add-subdirectory-project/CMakeLists.txt new file mode 100644 index 0000000000..a8da4521ba --- /dev/null +++ b/neozip/test/add-subdirectory-project/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.14...4.2.1) + +project(zlib-ng-add-subdirecory-test C) + +include(CTest) + +set(BUILD_SHARED_LIBS OFF) +set(BUILD_TESTING ON CACHE BOOL "Build test binaries" FORCE) + +add_subdirectory(../.. zlib-ng) + +add_executable(app main.c) +target_link_libraries(app zlib-ng-static) diff --git a/neozip/test/add-subdirectory-project/main.c b/neozip/test/add-subdirectory-project/main.c new file mode 100644 index 0000000000..638a35b1d3 --- /dev/null +++ b/neozip/test/add-subdirectory-project/main.c @@ -0,0 +1,7 @@ +#include <stdio.h> +#include "zlib-ng.h" + +int main(void) { + printf("zlib-ng: %s\n", ZLIBNG_VERSION); + return 0; +} diff --git a/neozip/test/benchmarks/CMakeLists.txt b/neozip/test/benchmarks/CMakeLists.txt new file mode 100644 index 0000000000..df6f5a7e69 --- /dev/null +++ b/neozip/test/benchmarks/CMakeLists.txt @@ -0,0 +1,126 @@ +cmake_minimum_required(VERSION 3.14...4.2.1) + +include(FetchContent) + +if(NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() +if(NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +endif() +if(NOT DEFINED CMAKE_CXX_EXTENSIONS) + set(CMAKE_CXX_EXTENSIONS ON) +endif() + +# Search for Google benchmark package +find_package(benchmark QUIET) +if(NOT benchmark_FOUND) + # Fetch google benchmark source code from official repository + set(BENCHMARK_ENABLE_TESTING OFF) + + # Allow specifying alternative Google benchmark repository + if(NOT DEFINED GBENCHMARK_REPOSITORY) + set(GBENCHMARK_REPOSITORY https://github.com/google/benchmark.git) + endif() + if(NOT DEFINED GBENCHMARK_TAG) + set(GBENCHMARK_TAG v1.9.4) + endif() + + FetchContent_Declare(benchmark + GIT_REPOSITORY ${GBENCHMARK_REPOSITORY} + GIT_TAG ${GBENCHMARK_TAG} + ${ZNG_FetchContent_Declare_EXCLUDE_FROM_ALL}) + + ZNG_FetchContent_MakeAvailable(benchmark) +endif() + +# Public API benchmarks +set(BENCH_PUBLIC_SRCS + benchmark_compress.cc + benchmark_inflate.cc + benchmark_uncompress.cc + benchmark_main.cc + ) + +# Internal benchmarks +set(BENCH_INTERNAL_SRCS + benchmark_adler32.cc + benchmark_adler32_copy.cc + benchmark_compare256.cc + benchmark_compare256_rle.cc + benchmark_crc32.cc + benchmark_crc32_copy.cc + benchmark_deflate.cc + benchmark_insert_string.cc + benchmark_slidehash.cc + ) + +add_executable(benchmark_zlib ${BENCH_PUBLIC_SRCS}) + +target_compile_definitions(benchmark_zlib PRIVATE -DBENCHMARK_STATIC_DEFINE) +target_include_directories(benchmark_zlib PRIVATE + ${PROJECT_SOURCE_DIR} + ${PROJECT_BINARY_DIR} + ${benchmark_SOURCE_DIR}/benchmark/include) + +target_link_libraries(benchmark_zlib benchmark::benchmark) +if(ZLIB_LIBRARY) + target_link_libraries(benchmark_zlib ${ZLIB_LIBRARY}) +else() + target_sources(benchmark_zlib PRIVATE ${BENCH_INTERNAL_SRCS}) + target_link_libraries(benchmark_zlib zlib-ng-static) +endif() + +if(WIN32) + target_link_libraries(benchmark_zlib shlwapi) +endif() + +add_test(NAME benchmark_zlib + COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:benchmark_zlib> "--benchmark_min_time=0") + +if(WITH_BENCHMARK_APPS) + option(BUILD_ALT_BENCH "Link against alternative zlib implementation" OFF) + + # Search for libpng package + find_package(PNG QUIET) + + if(NOT PNG_FOUND) + FetchContent_Declare(PNG + GIT_REPOSITORY https://github.com/glennrp/libpng.git + ${ZNG_FetchContent_Declare_EXCLUDE_FROM_ALL}) + + ZNG_FetchContent_MakeAvailable(PNG) + set(PNG_INCLUDE_DIR ${png_SOURCE_DIR}) + endif() + + set(BENCH_APP_SRCS + benchmark_png_encode.cc + benchmark_png_decode.cc + benchmark_main.cc + ) + + add_executable(benchmark_zlib_apps ${BENCH_APP_SRCS}) + + if(DEFINED BUILD_ALT_BENCH) + set(ZLIB_ALT_LIB "libz.a" CACHE FILEPATH "Optional alternative zlib implementation (defaults to stock zlib)") + add_executable(benchmark_zlib_apps_alt ${BENCH_APP_SRCS}) + target_link_libraries(benchmark_zlib_apps_alt libpng.a ${ZLIB_ALT_LIB} benchmark::benchmark) + target_compile_definitions(benchmark_zlib_apps_alt PRIVATE BUILD_ALT=1) + target_include_directories(benchmark_zlib_apps_alt PRIVATE + ${PROJECT_SOURCE_DIR} + ${PROJECT_BINARY_DIR} + ${PNG_INCLUDE_DIR} + ${benchmark_SOURCE_DIR}/benchmark/include) + endif() + + target_include_directories(benchmark_zlib_apps PRIVATE + ${PROJECT_SOURCE_DIR} + ${PROJECT_BINARY_DIR} + ${PNG_INCLUDE_DIR} + ${benchmark_SOURCE_DIR}/benchmark/include) + + # We need the static png library if we're statically linking to zlib, + # otherwise it will resolve these things in the system provided dynamic + # libraries (likely linked to stock zlib) + target_link_libraries(benchmark_zlib_apps libpng.a zlib-ng-static benchmark::benchmark) +endif() diff --git a/neozip/test/benchmarks/README.md b/neozip/test/benchmarks/README.md new file mode 100644 index 0000000000..08ccea233e --- /dev/null +++ b/neozip/test/benchmarks/README.md @@ -0,0 +1,63 @@ +## Benchmarks +These benchmarks are written using [Google Benchmark](https://github.com/google/benchmark). + +*Repetitions* + +To increase the number of times each benchmark iteration is run use: + +``` +--benchmark_repetitions=20 +``` + +*Filters* + +To filter out which benchmarks are performed use: + +``` +--benchmark_filter="adler32*" +``` + +There are two different benchmarks, micro and macro. + +### Benchmark benchmark_zlib +These are microbenchmarks intended to test lower level subfunctions of the library. + +Benchmarks include implementations of: + - Adler32 + - CRC + - 256 byte comparisons + - SIMD accelerated "slide hash" routine + +By default these benchmarks report things on the nanosecond scale and are small enough +to measure very minute differences. + +*Alternative zlib library* + +To benchmark against an alternative zlib-compatible library, use the `ZLIB_LIBRARY` +CMake argument. When set, only the public API benchmarks are built: + +```sh +cmake -S . -B build-alt \ + -DZLIB_COMPAT=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -DBUILD_TESTING=ON \ + -DWITH_BENCHMARKS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_RUNTIME_CPU_DETECTION=OFF \ + -DZLIB_LIBRARY=/path/to/libz.a +``` + +### Benchmark benchmark_zlib_apps +These benchmarks measure applications of zlib as a whole. Currently the only examples +are PNG encoding and decoding. The PNG encode and decode tests leveraging procedurally +generated and highly compressible image data. + +Additionally, a test called `png_decode_realistic` that will decode any RGB 8 BPP encoded +set of PNGs in the working directory under a directory named "test_pngs" with files named +{0..1}.png. If these images do not exist, they will error out and the benchmark will move +on to the next set of benchmarks. + +*benchmark_zlib_apps_alt* + +The user can compile a comparison benchmark application linking to any zlib-compatible +implementation of his or her choosing. diff --git a/neozip/test/benchmarks/benchmark_adler32.cc b/neozip/test/benchmarks/benchmark_adler32.cc new file mode 100644 index 0000000000..5ee9102e23 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_adler32.cc @@ -0,0 +1,121 @@ +/* benchmark_adler32.cc -- benchmark adler32 variants + * Copyright (C) 2022 Nathan Moinvaziri, Adam Stylinski + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +#define BUFSIZE ((4 * 1024 * 1024) + 64) + +class adler32: public benchmark::Fixture { +private: + uint32_t *testdata; + +public: + void SetUp(::benchmark::State& state) { + testdata = (uint32_t *)zng_alloc_aligned(BUFSIZE, 64); + if (testdata == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + for (uint32_t i = 0; i < BUFSIZE/sizeof(uint32_t); i++) { + testdata[i] = rand(); + } + } + + // Benchmark Adler32, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, adler32_func adler32, const int DO_ALIGNED) { + int misalign = 0; + uint32_t hash = 0; + + for (auto _ : state) { + hash = adler32(hash, (const unsigned char*)testdata + misalign, (size_t)state.range(0)); + if (misalign >= 63) + misalign = 0; + else + misalign += (DO_ALIGNED) ? 16 : 1; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(hash); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(testdata); + } +}; + +#define BENCHMARK_ADLER32_MISALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, hashfunc, 0); \ + } \ + BENCHMARK_REGISTER_F(adler32, name)->Arg(1)->Arg(8)->Arg(12)->Arg(16)->Arg(32)->Arg(64)->Arg(512)->Arg(4<<10)->Arg(32<<10)->Arg(256<<10)->Arg(4096<<10); + +// Aligned +#define ALIGNED_NAME(name) name##_aligned +#define BENCHMARK_ADLER32_ALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32, ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, hashfunc, 1); \ + } \ + BENCHMARK_REGISTER_F(adler32, ALIGNED_NAME(name))->Arg(8)->Arg(12)->Arg(16)->Arg(32)->Arg(64)->Arg(512)->Arg(4<<10)->Arg(32<<10)->Arg(256<<10)->Arg(4096<<10); + +// Queue both misaligned and aligned for each benchmark +#define BENCHMARK_ADLER32(name, hashfunc, support_flag) \ + BENCHMARK_ADLER32_MISALIGNED(name, hashfunc, support_flag); \ + BENCHMARK_ADLER32_ALIGNED(name, hashfunc, support_flag); + +BENCHMARK_ADLER32(c, adler32_c, 1); + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +BENCHMARK_ADLER32(native, native_adler32, 1); +#else + +#ifdef ARM_NEON +BENCHMARK_ADLER32(neon, adler32_neon, test_cpu_features.arm.has_neon); +#endif + +#ifdef PPC_VMX +BENCHMARK_ADLER32(vmx, adler32_vmx, test_cpu_features.power.has_altivec); +#endif +#ifdef POWER8_VSX +BENCHMARK_ADLER32(power8, adler32_power8, test_cpu_features.power.has_arch_2_07); +#endif + +#ifdef RISCV_RVV +BENCHMARK_ADLER32(rvv, adler32_rvv, test_cpu_features.riscv.has_rvv); +#endif + +#ifdef X86_SSSE3 +BENCHMARK_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3); +#endif +#ifdef X86_AVX2 +BENCHMARK_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2); +#endif +#ifdef X86_AVX512 +BENCHMARK_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common); +#endif +#ifdef X86_AVX512VNNI +BENCHMARK_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni); +#endif + +#ifdef LOONGARCH_LSX +BENCHMARK_ADLER32(lsx, adler32_lsx, test_cpu_features.loongarch.has_lsx); +#endif +#ifdef LOONGARCH_LASX +BENCHMARK_ADLER32(lasx, adler32_lasx, test_cpu_features.loongarch.has_lasx); +#endif + +#endif diff --git a/neozip/test/benchmarks/benchmark_adler32_copy.cc b/neozip/test/benchmarks/benchmark_adler32_copy.cc new file mode 100644 index 0000000000..6d913b1d19 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_adler32_copy.cc @@ -0,0 +1,176 @@ +/* benchmark_adler32_copy.cc -- benchmark adler32 (elided copy) variants + * Copyright (C) 2022 Nathan Moinvaziri, Adam Stylinski + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +// Hash copy functions are used on strm->next_in buffers, we process +// 512-32k sizes (x2 for initial fill) at a time if enough data is available. +#define BUFSIZE (65536 + 64) + +class adler32_copy: public benchmark::Fixture { +private: + uint32_t *testdata; + uint8_t *dstbuf; + +public: + void SetUp(::benchmark::State& state) { + testdata = (uint32_t *)zng_alloc_aligned(BUFSIZE, 64); + dstbuf = (uint8_t *)zng_alloc_aligned(BUFSIZE, 64); + if (testdata == NULL || dstbuf == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + for (uint32_t i = 0; i < BUFSIZE/sizeof(uint32_t); i++) { + testdata[i] = rand(); + } + } + + // Benchmark Adler32_copy, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, adler32_copy_func adler32_copy, const int DO_ALIGNED) { + int misalign = 0; + uint32_t hash = 0; + + for (auto _ : state) { + hash = adler32_copy(hash, dstbuf + misalign, (const unsigned char*)testdata + misalign, (size_t)state.range(0)); + if (misalign >= 63) + misalign = 0; + else + misalign += (DO_ALIGNED) ? 16 : 1; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(hash); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(testdata); + zng_free_aligned(dstbuf); + } +}; + +// Misaligned +#define BENCHMARK_ADLER32_COPY_MISALIGNED(name, copyfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32_copy, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, copyfunc, 0); \ + } \ + BENCHMARK_REGISTER_F(adler32_copy, name)->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + +// Aligned +#define ALIGNED_NAME(name) name##_aligned +#define BENCHMARK_ADLER32_COPY_ALIGNED(name, copyfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32_copy, ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, copyfunc, 1); \ + } \ + BENCHMARK_REGISTER_F(adler32_copy, ALIGNED_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + + +// Adler32 + memcpy benchmarks for reference +#ifdef HASH_BASELINE +#define MEMCPY_NAME(name) name##_memcpy +#define BENCHMARK_ADLER32_MEMCPY_MISALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32_copy, MEMCPY_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, [](uint32_t init_sum, unsigned char *dst, \ + const uint8_t *buf, size_t len) -> uint32_t { \ + memcpy(dst, buf, (size_t)len); \ + return hashfunc(init_sum, buf, len); \ + }, 0); \ + } \ + BENCHMARK_REGISTER_F(adler32_copy, MEMCPY_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + +#define MEMCPY_ALIGNED_NAME(name) name##_memcpy_aligned +#define BENCHMARK_ADLER32_MEMCPY_ALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(adler32_copy, MEMCPY_ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, [](uint32_t init_sum, unsigned char *dst, \ + const uint8_t *buf, size_t len) -> uint32_t { \ + memcpy(dst, buf, (size_t)len); \ + return hashfunc(init_sum, buf, len); \ + }, 1); \ + } \ + BENCHMARK_REGISTER_F(adler32_copy, MEMCPY_ALIGNED_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); +#endif + + +// Queue both misaligned and aligned for each benchmark +#define BENCHMARK_ADLER32_COPY_ONLY(name, copyfunc, support_flag) \ + BENCHMARK_ADLER32_COPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_ADLER32_COPY_ALIGNED(name, copyfunc, support_flag); + +// Optionally also benchmark using memcpy with normal hash function for baseline +#ifdef HASH_BASELINE +#define BENCHMARK_ADLER32_COPY(name, hashfunc, copyfunc, support_flag) \ + BENCHMARK_ADLER32_COPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_ADLER32_COPY_ALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_ADLER32_MEMCPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_ADLER32_MEMCPY_ALIGNED(name, copyfunc, support_flag); +#else +#define BENCHMARK_ADLER32_COPY(name, hashfunc, copyfunc, support_flag) \ + BENCHMARK_ADLER32_COPY_ONLY(name, copyfunc, support_flag) +#endif + +BENCHMARK_ADLER32_COPY(c, adler32_c, adler32_copy_c, 1); + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +BENCHMARK_ADLER32_COPY(native, native_adler32, native_adler32_copy, 1); +#else + +#ifdef ARM_NEON +BENCHMARK_ADLER32_COPY(neon, adler32_neon, adler32_copy_neon, test_cpu_features.arm.has_neon); +#endif + +#ifdef PPC_VMX +BENCHMARK_ADLER32_COPY(vmx, adler32_vmx, adler32_copy_vmx, test_cpu_features.power.has_altivec); +#endif +#ifdef POWER8_VSX +BENCHMARK_ADLER32_COPY(power8, adler32_power8, adler32_copy_power8, test_cpu_features.power.has_arch_2_07); +#endif + +#ifdef RISCV_RVV +BENCHMARK_ADLER32_COPY(rvv, adler32_rvv, adler32_copy_rvv, test_cpu_features.riscv.has_rvv); +#endif + +#ifdef X86_SSSE3 +BENCHMARK_ADLER32_COPY(ssse3, adler32_ssse3, adler32_copy_ssse3, test_cpu_features.x86.has_ssse3); +#endif +#ifdef X86_SSE42 +// There is no adler32_sse42, so only test the copy variant +BENCHMARK_ADLER32_COPY_ONLY(sse42, adler32_copy_sse42, test_cpu_features.x86.has_sse42); +#endif +#ifdef X86_AVX2 +BENCHMARK_ADLER32_COPY(avx2, adler32_avx, adler32_copy_avx2, test_cpu_features.x86.has_avx2); +#endif +#ifdef X86_AVX512 +BENCHMARK_ADLER32_COPY(avx512, adler32_avx512, adler32_copy_avx512, test_cpu_features.x86.has_avx512_common); +#endif +#ifdef X86_AVX512VNNI +BENCHMARK_ADLER32_COPY(avx512_vnni, adler32_avx512_vnni, adler32_copy_avx512_vnni, test_cpu_features.x86.has_avx512vnni); +#endif + +#ifdef LOONGARCH_LSX +BENCHMARK_ADLER32_COPY(lsx, adler32_lsx, adler32_copy_lsx, test_cpu_features.loongarch.has_lsx); +#endif +#ifdef LOONGARCH_LASX +BENCHMARK_ADLER32_COPY(lasx, adler32_lasx, adler32_copy_lasx, test_cpu_features.loongarch.has_lasx); +#endif + +#endif diff --git a/neozip/test/benchmarks/benchmark_compare256.cc b/neozip/test/benchmarks/benchmark_compare256.cc new file mode 100644 index 0000000000..2d8352879d --- /dev/null +++ b/neozip/test/benchmarks/benchmark_compare256.cc @@ -0,0 +1,106 @@ +/* benchmark_compare256.cc -- benchmark compare256 variants + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +#define MAX_COMPARE_SIZE (256 + 64) + +class compare256: public benchmark::Fixture { +private: + uint8_t *str1; + uint8_t *str2; + +public: + void SetUp(::benchmark::State& state) { + str1 = (uint8_t *)malloc(MAX_COMPARE_SIZE); + str2 = (uint8_t *)malloc(MAX_COMPARE_SIZE); + if (str1 == NULL || str2 == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + memset(str1, 'a', MAX_COMPARE_SIZE); + memset(str2, 'a', MAX_COMPARE_SIZE); + } + + // Benchmark compare256, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, compare256_func compare256) { + int misalign = 0; + int32_t match_len = (int32_t)state.range(0) - 1; + uint32_t len = 0; + + for (auto _ : state) { + str2[match_len + misalign] = 0; // Set new match limit + + len = compare256((const uint8_t *)str1 + misalign, (const uint8_t *)str2 + misalign); + + str2[match_len + misalign] = 'a'; // Reset match limit + + if (misalign >= 63) + misalign = 0; + else + misalign++; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(len); + } + } + + void TearDown(const ::benchmark::State&) { + free(str1); + free(str2); + } +}; + +#define BENCHMARK_COMPARE256(name, comparefunc, support_flag) \ + BENCHMARK_DEFINE_F(compare256, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, comparefunc); \ + } \ + BENCHMARK_REGISTER_F(compare256, name)->Arg(1)->Arg(10)->Arg(40)->Arg(80)->Arg(100)->Arg(175)->Arg(256); + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +BENCHMARK_COMPARE256(native, native_compare256, 1); +#else + +#ifdef WITH_ALL_FALLBACKS +BENCHMARK_COMPARE256(8, compare256_8, 1); +BENCHMARK_COMPARE256(64, compare256_64, 1); +#endif + +#ifdef X86_SSE2 +BENCHMARK_COMPARE256(sse2, compare256_sse2, test_cpu_features.x86.has_sse2); +#endif +#ifdef X86_AVX2 +BENCHMARK_COMPARE256(avx2, compare256_avx2, test_cpu_features.x86.has_avx2); +#endif +#ifdef X86_AVX512 +BENCHMARK_COMPARE256(avx512, compare256_avx512, test_cpu_features.x86.has_avx512_common); +#endif +#ifdef ARM_NEON +BENCHMARK_COMPARE256(neon, compare256_neon, test_cpu_features.arm.has_neon); +#endif +#ifdef POWER9 +BENCHMARK_COMPARE256(power9, compare256_power9, test_cpu_features.power.has_arch_3_00); +#endif +#ifdef RISCV_RVV +BENCHMARK_COMPARE256(rvv, compare256_rvv, test_cpu_features.riscv.has_rvv); +#endif +#ifdef LOONGARCH_LSX +BENCHMARK_COMPARE256(lsx, compare256_lsx, test_cpu_features.loongarch.has_lsx); +#endif +#ifdef LOONGARCH_LASX +BENCHMARK_COMPARE256(lasx, compare256_lasx, test_cpu_features.loongarch.has_lasx); +#endif + +#endif diff --git a/neozip/test/benchmarks/benchmark_compare256_rle.cc b/neozip/test/benchmarks/benchmark_compare256_rle.cc new file mode 100644 index 0000000000..db5adacc19 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_compare256_rle.cc @@ -0,0 +1,72 @@ +/* benchmark_compare256_rle.cc -- benchmark compare256_rle variants + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "compare256_rle.h" +} + +#define MAX_COMPARE_SIZE (256 + 64) + +class compare256_rle: public benchmark::Fixture { +private: + uint8_t *str1; + uint8_t *str2; + +public: + void SetUp(::benchmark::State& state) { + str1 = (uint8_t *)malloc(MAX_COMPARE_SIZE); + str2 = (uint8_t *)malloc(MAX_COMPARE_SIZE); + if (str1 == NULL || str2 == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + memset(str1, 'a', MAX_COMPARE_SIZE); + memset(str2, 'a', MAX_COMPARE_SIZE); + } + + // Benchmark compare256_rle, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, compare256_rle_func compare256_rle) { + int misalign = 0; + int32_t match_len = (int32_t)state.range(0) - 1; + uint32_t len = 0; + + for (auto _ : state) { + str2[match_len + misalign] = 0; // Set new match limit + + len = compare256_rle((const uint8_t *)str1 + misalign, (const uint8_t *)str2 + misalign); + + str2[match_len + misalign] = 'a'; // Reset match limit + + if (misalign >= 63) + misalign = 0; + else + misalign++; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(len); + } + } + + void TearDown(const ::benchmark::State&) { + free(str1); + free(str2); + } +}; + +#define BENCHMARK_COMPARE256_RLE(name, comparefunc, support_flag) \ + BENCHMARK_DEFINE_F(compare256_rle, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, comparefunc); \ + } \ + BENCHMARK_REGISTER_F(compare256_rle, name)->Arg(1)->Arg(10)->Arg(40)->Arg(80)->Arg(100)->Arg(175)->Arg(256);; + +BENCHMARK_COMPARE256_RLE(8, compare256_rle_8, 1); +BENCHMARK_COMPARE256_RLE(64, compare256_rle_64, 1); diff --git a/neozip/test/benchmarks/benchmark_compress.cc b/neozip/test/benchmarks/benchmark_compress.cc new file mode 100644 index 0000000000..df042f7153 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_compress.cc @@ -0,0 +1,75 @@ +/* benchmark_compress.cc -- benchmark compress() + * Copyright (C) 2024-2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <assert.h> +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "zutil_p.h" +# if defined(ZLIB_COMPAT) +# include "zlib.h" +# else +# include "zlib-ng.h" +# endif +# include "test/compressible_data_p.h" +} + +#define MAX_SIZE (64 * 1024) + +class compress_bench: public benchmark::Fixture { +private: + uint8_t *inbuff; + uint8_t *outbuff; + +public: + void SetUp(::benchmark::State& state) { + outbuff = (uint8_t *)malloc(MAX_SIZE + 16); + if (outbuff == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + // Initialize input buffer with highly compressible data, interspersed + // with small amounts of random data and 3-byte matches. + inbuff = gen_compressible_data(MAX_SIZE); + if (inbuff == NULL) { + free(outbuff); + outbuff = NULL; + state.SkipWithError("gen_compressible_data() failed"); + return; + } + } + + void Bench(benchmark::State& state) { + int err = 0; + + for (auto _ : state) { + z_uintmax_t compressed_size = MAX_SIZE + 16; + err = PREFIX(compress)(outbuff, &compressed_size, inbuff, (size_t)state.range(0)); + if (err != Z_OK) { + fprintf(stderr, "compress() failed with error %d\n", err); + abort(); + } + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(err); + } + } + + void TearDown(const ::benchmark::State&) { + free(inbuff); + free(outbuff); + } +}; + +#define BENCHMARK_COMPRESS(name) \ + BENCHMARK_DEFINE_F(compress_bench, name)(benchmark::State& state) { \ + Bench(state); \ + } \ + BENCHMARK_REGISTER_F(compress_bench, name)->Arg(1)->Arg(16)->Arg(48)->Arg(256)->Arg(1<<10)->Arg(4<<10)->Arg(16<<10)->Arg(64<<10); + +BENCHMARK_COMPRESS(compress_bench); diff --git a/neozip/test/benchmarks/benchmark_crc32.cc b/neozip/test/benchmarks/benchmark_crc32.cc new file mode 100644 index 0000000000..1e2cf88590 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_crc32.cc @@ -0,0 +1,125 @@ +/* benchmark_crc32.cc -- benchmark crc32 variants + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +#define BUFSIZE ((4 * 1024 * 1024) + 64) + +class crc32: public benchmark::Fixture { +private: + uint32_t *testdata; + +public: + void SetUp(::benchmark::State& state) { + testdata = (uint32_t *)zng_alloc_aligned(BUFSIZE, 64); + if (testdata == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + for (uint32_t i = 0; i < BUFSIZE/sizeof(uint32_t); i++) { + testdata[i] = rand(); + } + } + + // Benchmark CRC32, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, crc32_func crc32, const int DO_ALIGNED) { + int misalign = 0; + uint32_t hash = 0; + + for (auto _ : state) { + hash = crc32(hash, (const unsigned char *)testdata + misalign, (size_t)state.range(0)); + if (misalign >= 63) + misalign = 0; + else + misalign += (DO_ALIGNED) ? 16 : 1; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(hash); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(testdata); + } +}; + +#define BENCHMARK_CRC32_MISALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, hashfunc, 0); \ + } \ + BENCHMARK_REGISTER_F(crc32, name)->Arg(1)->Arg(8)->Arg(12)->Arg(16)->Arg(32)->Arg(64)->Arg(512)->Arg(4<<10)->Arg(32<<10)->Arg(256<<10)->Arg(4096<<10); + +// Aligned +#define ALIGNED_NAME(name) name##_aligned +#define BENCHMARK_CRC32_ALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32, ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, hashfunc, 1); \ + } \ + BENCHMARK_REGISTER_F(crc32, ALIGNED_NAME(name))->Arg(8)->Arg(12)->Arg(16)->Arg(32)->Arg(64)->Arg(512)->Arg(4<<10)->Arg(32<<10)->Arg(256<<10)->Arg(4096<<10); + +// Queue both misaligned and aligned for each benchmark +#define BENCHMARK_CRC32(name, hashfunc, support_flag) \ + BENCHMARK_CRC32_MISALIGNED(name, hashfunc, support_flag); \ + BENCHMARK_CRC32_ALIGNED(name, hashfunc, support_flag); + +BENCHMARK_CRC32(braid, crc32_braid, 1); + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +BENCHMARK_CRC32(native, native_crc32, 1); +#else + +#ifndef WITHOUT_CHORBA +BENCHMARK_CRC32(chorba_c, crc32_chorba, 1); +#endif +#ifndef WITHOUT_CHORBA_SSE +# ifdef X86_SSE2 + BENCHMARK_CRC32(chorba_sse2, crc32_chorba_sse2, test_cpu_features.x86.has_sse2); +# endif +# ifdef X86_SSE41 + BENCHMARK_CRC32(chorba_sse41, crc32_chorba_sse41, test_cpu_features.x86.has_sse41); +# endif +#endif +#ifdef ARM_CRC32 +BENCHMARK_CRC32(armv8, crc32_armv8, test_cpu_features.arm.has_crc32); +#endif +#ifdef ARM_PMULL_EOR3 +BENCHMARK_CRC32(armv8_pmull_eor3, crc32_armv8_pmull_eor3, test_cpu_features.arm.has_crc32 && test_cpu_features.arm.has_pmull && test_cpu_features.arm.has_eor3); +#endif +#ifdef RISCV_CRC32_ZBC +BENCHMARK_CRC32(riscv, crc32_riscv64_zbc, test_cpu_features.riscv.has_zbc); +#endif +#ifdef POWER8_VSX_CRC32 +BENCHMARK_CRC32(power8, crc32_power8, test_cpu_features.power.has_arch_2_07); +#endif +#ifdef S390_CRC32_VX +BENCHMARK_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx); +#endif +#ifdef X86_PCLMULQDQ_CRC +BENCHMARK_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq); +#endif +#ifdef X86_VPCLMULQDQ_AVX2 +BENCHMARK_CRC32(vpclmulqdq_avx2, crc32_vpclmulqdq_avx2, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx2 && test_cpu_features.x86.has_vpclmulqdq)); +#endif +#ifdef X86_VPCLMULQDQ_AVX512 +BENCHMARK_CRC32(vpclmulqdq_avx512, crc32_vpclmulqdq_avx512, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)); +#endif +#ifdef LOONGARCH_CRC +BENCHMARK_CRC32(loongarch64, crc32_loongarch64, test_cpu_features.loongarch.has_crc); +#endif + +#endif diff --git a/neozip/test/benchmarks/benchmark_crc32_copy.cc b/neozip/test/benchmarks/benchmark_crc32_copy.cc new file mode 100644 index 0000000000..eafa5aee44 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_crc32_copy.cc @@ -0,0 +1,177 @@ +/* benchmark_crc32_copy.cc -- benchmark for crc32 implementations with copying + * Copyright (C) 2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +// Hash copy functions are used on strm->next_in buffers, we process +// 512-32k sizes (x2 for initial fill) at a time if enough data is available. +#define BUFSIZE (65536 + 64) + +class crc32_copy: public benchmark::Fixture { +protected: + uint32_t *testdata; + uint8_t *dstbuf; + +public: + void SetUp(::benchmark::State& state) { + testdata = (uint32_t *)zng_alloc_aligned(BUFSIZE, 64); + dstbuf = (uint8_t *)zng_alloc_aligned(BUFSIZE, 64); + if (testdata == NULL || dstbuf == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + for (uint32_t i = 0; i < BUFSIZE/sizeof(uint32_t); i++) { + testdata[i] = rand(); + } + } + + // Benchmark CRC32_copy, with rolling buffer misalignment for consistent results + void Bench(benchmark::State& state, crc32_copy_func crc32_copy, const int DO_ALIGNED) { + int misalign = 0; + uint32_t hash = 0; + + for (auto _ : state) { + hash = crc32_copy(hash, dstbuf + misalign, (const unsigned char*)testdata + misalign, (size_t)state.range(0)); + if (misalign >= 63) + misalign = 0; + else + misalign += (DO_ALIGNED) ? 16 : 1; + + // Prevent the result from being optimized away + benchmark::DoNotOptimize(hash); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(testdata); + zng_free_aligned(dstbuf); + } +}; + +// Misaligned +#define BENCHMARK_CRC32_COPY_MISALIGNED(name, copyfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32_copy, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, copyfunc, 0); \ + } \ + BENCHMARK_REGISTER_F(crc32_copy, name)->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + +// Aligned +#define ALIGNED_NAME(name) name##_aligned +#define BENCHMARK_CRC32_COPY_ALIGNED(name, copyfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32_copy, ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, copyfunc, 1); \ + } \ + BENCHMARK_REGISTER_F(crc32_copy, ALIGNED_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + +// CRC32 + memcpy benchmarks for reference +#ifdef HASH_BASELINE +#define MEMCPY_NAME(name) name##_memcpy +#define BENCHMARK_CRC32_MEMCPY_MISALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32_copy, MEMCPY_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, [](uint32_t init_sum, unsigned char *dst, \ + const uint8_t *buf, size_t len) -> uint32_t { \ + memcpy(dst, buf, (size_t)len); \ + return hashfunc(init_sum, buf, len); \ + }, 0); \ + } \ + BENCHMARK_REGISTER_F(crc32_copy, MEMCPY_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); + +#define MEMCPY_ALIGNED_NAME(name) name##_memcpy_aligned +#define BENCHMARK_CRC32_MEMCPY_ALIGNED(name, hashfunc, support_flag) \ + BENCHMARK_DEFINE_F(crc32_copy, MEMCPY_ALIGNED_NAME(name))(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, [](uint32_t init_sum, unsigned char *dst, \ + const uint8_t *buf, size_t len) -> uint32_t { \ + memcpy(dst, buf, (size_t)len); \ + return hashfunc(init_sum, buf, len); \ + }, 1); \ + } \ + BENCHMARK_REGISTER_F(crc32_copy, MEMCPY_ALIGNED_NAME(name))->Arg(32)->Arg(512)->Arg(8<<10)->Arg(32<<10)->Arg(64<<10); +#endif + + +// Queue both misaligned and aligned for each benchmark +#define BENCHMARK_CRC32_COPY_ONLY(name, copyfunc, support_flag) \ + BENCHMARK_CRC32_COPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_CRC32_COPY_ALIGNED(name, copyfunc, support_flag); + +// Optionally also benchmark using memcpy with normal hash function for baseline +#ifdef HASH_BASELINE +#define BENCHMARK_CRC32_COPY(name, hashfunc, copyfunc, support_flag) \ + BENCHMARK_CRC32_COPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_CRC32_COPY_ALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_CRC32_MEMCPY_MISALIGNED(name, copyfunc, support_flag); \ + BENCHMARK_CRC32_MEMCPY_ALIGNED(name, copyfunc, support_flag); +#else +#define BENCHMARK_CRC32_COPY(name, hashfunc, copyfunc, support_flag) \ + BENCHMARK_CRC32_COPY_ONLY(name, copyfunc, support_flag) +#endif + +// Base test +BENCHMARK_CRC32_COPY(braid, crc32_braid, crc32_copy_braid, 1); + +#ifdef DISABLE_RUNTIME_CPU_DETECTION + // Native + BENCHMARK_CRC32_COPY(native, native_crc32, native_crc32_copy, 1) +#else + // Optimized functions +# ifndef WITHOUT_CHORBA + BENCHMARK_CRC32_COPY(chorba, crc32_chorba, crc32_copy_chorba, 1) +# endif +# ifndef WITHOUT_CHORBA_SSE +# ifdef X86_SSE2 + BENCHMARK_CRC32_COPY(chorba_sse2, crc32_chorba_sse2, crc32_copy_chorba_sse2, test_cpu_features.x86.has_sse2); +# endif +# ifdef X86_SSE41 + BENCHMARK_CRC32_COPY(chorba_sse41, crc32_chorba_sse41, crc32_copy_chorba_sse41, test_cpu_features.x86.has_sse41); +# endif +# endif +# ifdef ARM_CRC32 + BENCHMARK_CRC32_COPY(armv8, crc32_armv8, crc32_copy_armv8, test_cpu_features.arm.has_crc32) +# endif +# ifdef ARM_PMULL_EOR3 + BENCHMARK_CRC32_COPY(armv8_pmull_eor3, crc32_armv8_pmull_eor3, crc32_copy_armv8_pmull_eor3, test_cpu_features.arm.has_crc32 && test_cpu_features.arm.has_pmull && test_cpu_features.arm.has_eor3) +# endif +# ifdef LOONGARCH_CRC + BENCHMARK_CRC32_COPY(loongarch, crc32_loongarch64, crc32_copy_loongarch64, test_cpu_features.loongarch.has_crc) +# endif +# ifdef POWER8_VSX_CRC32 + BENCHMARK_CRC32_COPY(power8, crc32_power8, crc32_copy_power8, test_cpu_features.power.has_arch_2_07) +# endif +# ifdef RISCV_CRC32_ZBC + BENCHMARK_CRC32_COPY(riscv, crc32_riscv, crc32_copy_riscv64_zbc, test_cpu_features.riscv.has_zbc) +# endif +# ifdef S390_CRC32_VX + BENCHMARK_CRC32_COPY(vx, crc32_s390_vx, crc32_copy_s390_vx, test_cpu_features.s390.has_vx) +# endif +# ifdef X86_PCLMULQDQ_CRC + BENCHMARK_CRC32_COPY(pclmulqdq, crc32_pclmulqdq, crc32_copy_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) +# endif +# ifdef X86_VPCLMULQDQ_AVX2 + BENCHMARK_CRC32_COPY(vpclmulqdq_avx2, crc32_vpclmulqdq_avx2, crc32_copy_vpclmulqdq_avx2, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx2 && test_cpu_features.x86.has_vpclmulqdq)) +# endif +# ifdef X86_VPCLMULQDQ_AVX512 + BENCHMARK_CRC32_COPY(vpclmulqdq_avx512, crc32_vpclmulqdq_avx512, crc32_copy_vpclmulqdq_avx512, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)) +# endif + +#endif diff --git a/neozip/test/benchmarks/benchmark_deflate.cc b/neozip/test/benchmarks/benchmark_deflate.cc new file mode 100644 index 0000000000..f60e2589d1 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_deflate.cc @@ -0,0 +1,147 @@ +/* benchmark_deflate.cc -- benchmark deflate() with various levels and raw mode + * Copyright (C) 2026 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <assert.h> +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "zutil_p.h" +# if defined(ZLIB_COMPAT) +# include "zlib.h" +# else +# include "zlib-ng.h" +# endif +# include "test/compressible_data_p.h" +} + +#define MAX_SIZE (1024 * 1024) + +/* Parameterized deflate benchmark: Args(size, level) */ +class deflate_bench: public benchmark::Fixture { +private: + uint8_t *inbuff = nullptr; + uint8_t *outbuff = nullptr; + z_uintmax_t outbuff_size = 0; + +public: + void SetUp(::benchmark::State& state) { + outbuff_size = PREFIX(deflateBound)(NULL, MAX_SIZE); + outbuff = (uint8_t *)malloc(outbuff_size); + if (outbuff == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + inbuff = gen_compressible_data(MAX_SIZE); + if (inbuff == NULL) { + free(outbuff); + outbuff = NULL; + state.SkipWithError("gen_compressible_data() failed"); + return; + } + } + + void Bench(benchmark::State& state, int window_bits, int strategy = Z_DEFAULT_STRATEGY) { + int err; + size_t size = (size_t)state.range(0); + int level = (int)state.range(1); + + PREFIX3(stream) strm; + strm.zalloc = NULL; + strm.zfree = NULL; + strm.opaque = NULL; + strm.total_in = 0; + strm.total_out = 0; + strm.next_out = NULL; + strm.avail_out = 0; + + err = PREFIX(deflateInit2)(&strm, level, Z_DEFLATED, window_bits, MAX_MEM_LEVEL, strategy); + if (err != Z_OK) { + state.SkipWithError("deflateInit2 did not return Z_OK"); + return; + } + + for (auto _ : state) { + err = PREFIX(deflateReset)(&strm); + if (err != Z_OK) { + state.SkipWithError("deflateReset did not return Z_OK"); + PREFIX(deflateEnd)(&strm); + return; + } + + strm.avail_in = (uint32_t)size; + strm.next_in = (z_const uint8_t *)inbuff; + strm.next_out = outbuff; + strm.avail_out = (uint32_t)outbuff_size; + + err = PREFIX(deflate)(&strm, Z_FINISH); + if (err != Z_STREAM_END) { + state.SkipWithError("deflate did not return Z_STREAM_END"); + PREFIX(deflateEnd)(&strm); + return; + } + } + + err = PREFIX(deflateEnd)(&strm); + if (err != Z_OK) { + state.SkipWithError("deflateEnd did not return Z_OK"); + return; + } + } + + void TearDown(const ::benchmark::State&) { + free(inbuff); + free(outbuff); + } +}; + +#define BENCHMARK_DEFLATE_ARGS \ + ->Args({1024, 1})->Args({1024, 3})->Args({1024, 6})->Args({1024, 9}) \ + ->Args({16384, 1})->Args({16384, 3})->Args({16384, 6})->Args({16384, 9}) \ + ->Args({131072, 1})->Args({131072, 3})->Args({131072, 6})->Args({131072, 9}) \ + ->Args({1048576, 1})->Args({1048576, 3})->Args({1048576, 6})->Args({1048576, 9}) + +/* Parameterized deflate with zlib wrapping (includes adler32 checksum) */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_level)(benchmark::State& state) { + Bench(state, MAX_WBITS); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_level) BENCHMARK_DEFLATE_ARGS; + +/* Parameterized raw deflate without checksum */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_nocrc)(benchmark::State& state) { + Bench(state, -MAX_WBITS); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_nocrc) BENCHMARK_DEFLATE_ARGS; + +/* Strategy benchmarks use fewer size/level combos to keep test count reasonable */ +#define BENCHMARK_DEFLATE_STRATEGY_ARGS \ + ->Args({1024, 1})->Args({1024, 6})->Args({1024, 9}) \ + ->Args({1048576, 1})->Args({1048576, 6})->Args({1048576, 9}) + +/* Parameterized deflate with filtered strategy */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_filtered)(benchmark::State& state) { + Bench(state, MAX_WBITS, Z_FILTERED); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_filtered) BENCHMARK_DEFLATE_STRATEGY_ARGS; + +/* Parameterized deflate with Huffman-only strategy */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_huffman)(benchmark::State& state) { + Bench(state, MAX_WBITS, Z_HUFFMAN_ONLY); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_huffman) BENCHMARK_DEFLATE_STRATEGY_ARGS; + +/* Parameterized deflate with RLE strategy */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_rle)(benchmark::State& state) { + Bench(state, MAX_WBITS, Z_RLE); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_rle) BENCHMARK_DEFLATE_STRATEGY_ARGS; + +/* Parameterized deflate with fixed Huffman codes */ +BENCHMARK_DEFINE_F(deflate_bench, deflate_fixed)(benchmark::State& state) { + Bench(state, MAX_WBITS, Z_FIXED); +} +BENCHMARK_REGISTER_F(deflate_bench, deflate_fixed) BENCHMARK_DEFLATE_STRATEGY_ARGS; diff --git a/neozip/test/benchmarks/benchmark_inflate.cc b/neozip/test/benchmarks/benchmark_inflate.cc new file mode 100644 index 0000000000..ac6ef7229f --- /dev/null +++ b/neozip/test/benchmarks/benchmark_inflate.cc @@ -0,0 +1,169 @@ +/* benchmark_inflate.cc -- benchmark inflate() without crc32/adler32 + * Copyright (C) 2024-2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <assert.h> +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "zutil_p.h" +# if defined(ZLIB_COMPAT) +# include "zlib.h" +# else +# include "zlib-ng.h" +# endif +# include "test/compressible_data_p.h" +} + +#define MAX_SIZE (1024 * 1024) +#define NUM_TESTS 6 + +class inflate_bench: public benchmark::Fixture { +private: + uint8_t *inbuff; + uint8_t *outbuff; + uint8_t *compressed_buff[NUM_TESTS]; + z_uintmax_t compressed_sizes[NUM_TESTS]; + uint32_t sizes[NUM_TESTS] = {1, 64, 1024, 16384, 128*1024, 1024*1024}; + +public: + void SetUp(::benchmark::State& state) { + int err; + outbuff = (uint8_t *)malloc(MAX_SIZE + 16); + if (outbuff == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + // Initialize input buffer with highly compressible data, interspersed + // with small amounts of random data and 3-byte matches. + inbuff = gen_compressible_data(MAX_SIZE); + if (inbuff == NULL) { + free(outbuff); + outbuff = NULL; + state.SkipWithError("gen_compressible_data() failed"); + return; + } + + // Initialize Deflate state + PREFIX3(stream) strm; + strm.zalloc = NULL; + strm.zfree = NULL; + strm.opaque = NULL; + strm.total_in = 0; + strm.total_out = 0; + strm.next_out = NULL; + strm.avail_out = 0; + + err = PREFIX(deflateInit2)(&strm, Z_BEST_COMPRESSION, Z_DEFLATED, -15, MAX_MEM_LEVEL, Z_DEFAULT_STRATEGY); + if (err != Z_OK) { + state.SkipWithError("deflateInit2 did not return Z_OK"); + return; + } + + + // Compress data into different buffers + for (int i = 0; i < NUM_TESTS; ++i) { + compressed_buff[i] = (uint8_t *)malloc(sizes[i] + 64); + if (compressed_buff[i] == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + strm.avail_in = sizes[i]; // Size of the input buffer + strm.next_in = (z_const uint8_t *)inbuff; // Pointer to the input buffer + strm.next_out = compressed_buff[i]; // Pointer to the output buffer + strm.avail_out = sizes[i] + 64; // Maximum size of the output buffer + + err = PREFIX(deflate)(&strm, Z_FINISH); // Perform compression + if (err != Z_STREAM_END ) { + state.SkipWithError("deflate did not return Z_STREAM_END"); + PREFIX(deflateEnd)(&strm); + return; + } + + compressed_sizes[i] = strm.total_out; // Total compressed size + + err = PREFIX(deflateReset)(&strm); // Reset Deflate state + if (err != Z_OK) { + state.SkipWithError("deflateReset did not return Z_OK"); + return; + } + } + + err = PREFIX(deflateEnd)(&strm); // Clean up the deflate stream + if (err != Z_OK) { + state.SkipWithError("deflateEnd did not return Z_OK"); + return; + } + } + + void Bench(benchmark::State& state) { + int err; + int index = 0; + while (sizes[index] != (uint32_t)state.range(0)) ++index; + + // Initialize the inflate stream + PREFIX3(stream) strm; + strm.zalloc = NULL; + strm.zfree = NULL; + strm.opaque = NULL; + strm.next_in = NULL; + strm.avail_in = 0; + + err = PREFIX(inflateInit2)(&strm, -15); // Initialize the inflate state, no crc/adler + if (err != Z_OK) { + state.SkipWithError("inflateInit did not return Z_OK"); + return; + } + + for (auto _ : state) { + // Perform reset, avoids benchmarking inflateInit and inflateEnd + err = PREFIX(inflateReset)(&strm); + if (err != Z_OK) { + state.SkipWithError("inflateReset did not return Z_OK"); + return; + } + + strm.avail_in = (uint32_t)compressed_sizes[index]; // Size of the input + strm.next_in = compressed_buff[index]; // Pointer to the compressed data + strm.avail_out = MAX_SIZE; // Max size for output + strm.next_out = outbuff; // Output buffer + + // Perform decompression + err = PREFIX(inflate)(&strm, Z_FINISH); + if (err != Z_STREAM_END) { + state.SkipWithError("inflate did not return Z_STREAM_END"); + PREFIX(inflateEnd)(&strm); + return; + } + } + + // Finalize the inflation process + err = PREFIX(inflateEnd)(&strm); + if (err != Z_OK) { + state.SkipWithError("inflateEnd did not return Z_OK"); + return; + } + } + + void TearDown(const ::benchmark::State&) { + free(inbuff); + free(outbuff); + + for (int i = 0; i < NUM_TESTS; ++i) { + free(compressed_buff[i]); + } + } +}; + +#define BENCHMARK_INFLATE(name) \ + BENCHMARK_DEFINE_F(inflate_bench, name)(benchmark::State& state) { \ + Bench(state); \ + } \ + BENCHMARK_REGISTER_F(inflate_bench, name)->Arg(1)->Arg(64)->Arg(1024)->Arg(16<<10)->Arg(128<<10)->Arg(1024<<10); + +BENCHMARK_INFLATE(inflate_nocrc); diff --git a/neozip/test/benchmarks/benchmark_insert_string.cc b/neozip/test/benchmarks/benchmark_insert_string.cc new file mode 100644 index 0000000000..fafba3c4cd --- /dev/null +++ b/neozip/test/benchmarks/benchmark_insert_string.cc @@ -0,0 +1,164 @@ +/* benchmark_insert_string.cc -- benchmark insert_string variants + * Copyright (C) 2025 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <limits.h> +#include <cstring> + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "deflate.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +# include "insert_string_p.h" +} + +#define MAX_WSIZE 32768 +#define TEST_WINDOW_SIZE (MAX_WSIZE * 2) + +typedef uint32_t (* quick_insert_string_cb)(deflate_state *const s, uint32_t str); + +// Base class with common setup/teardown for both insert_string benchmarks +class insert_string_base: public benchmark::Fixture { +protected: + deflate_state *s; + +public: + void SetUp(const ::benchmark::State&) { + s = (deflate_state*)zng_alloc_aligned(sizeof(deflate_state), 64); + memset(s, 0, sizeof(deflate_state)); + + // Set up window parameters + s->w_size = MAX_WSIZE; + s->window_size = TEST_WINDOW_SIZE; + + // Allocate window + s->window = (uint8_t*)zng_alloc_aligned(TEST_WINDOW_SIZE, 64); + + // Allocate hash tables + s->head = (Pos*)zng_alloc_aligned(HASH_SIZE * sizeof(Pos), 64); + s->prev = (Pos*)zng_alloc_aligned(MAX_WSIZE * sizeof(Pos), 64); + + // Initialize hash tables + memset(s->head, 0, HASH_SIZE * sizeof(Pos)); + memset(s->prev, 0, MAX_WSIZE * sizeof(Pos)); + + // Initialize rolling hash state for rolling variant + s->ins_h = 0; + + // Fill window with deterministic data patterns + for (size_t i = 0; i < TEST_WINDOW_SIZE; i++) { + // Create patterns that will exercise the hash function well + s->window[i] = (uint8_t)((i * 17 + (i >> 4) * 31 + (i >> 8) * 13) & 0xFF); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(s->window); + zng_free_aligned(s->head); + zng_free_aligned(s->prev); + zng_free_aligned(s); + } +}; + +class insert_string_bench: public insert_string_base { +public: + void Bench(benchmark::State& state, insert_string_cb insert_func) { + uint32_t str_pos = (uint32_t)state.range(0); // Starting position + uint32_t count = (uint32_t)state.range(1); // Number of strings to insert + + // Ensure we don't go beyond window bounds + if (str_pos + count >= TEST_WINDOW_SIZE - 4) { + state.SkipWithError("Parameters exceed window size"); + return; + } + + for (auto _ : state) { + state.PauseTiming(); + + // Reset hash tables to ensure consistent starting state + memset(s->head, 0, HASH_SIZE * sizeof(Pos)); + memset(s->prev, 0, MAX_WSIZE * sizeof(Pos)); + s->ins_h = 0; + + state.ResumeTiming(); + + // Benchmark the insert_string function + insert_func(s, str_pos, count); + } + } +}; + +#define BENCHMARK_INSERT_STRING(name, fptr, support_flag) \ + BENCHMARK_DEFINE_F(insert_string_bench, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("Function " #name " not supported"); \ + } \ + Bench(state, fptr); \ + } \ + BENCHMARK_REGISTER_F(insert_string_bench, name) \ + ->Args({100, 3}) /* Most common case */ \ + ->Args({100, 4}) \ + ->Args({100, 5}) \ + ->Args({100, 7}) \ + ->Args({100, 14}) /* Mid-range cluster */ \ + ->Args({100, 32}) /* Transition point */ \ + ->Args({100, 127}) /* Large cluster around powers of 2 */ \ + ->Args({100, 255}) /* Near maximum observed values */ \ + ->Unit(benchmark::kNanosecond); + +// Benchmark the standard integer hash variant +BENCHMARK_INSERT_STRING(integer_hash, ::insert_string, 1); + +// Benchmark the rolling hash variant +BENCHMARK_INSERT_STRING(rolling_hash, ::insert_string_roll, 1); + +// Additional benchmark class for quick_insert_string functions +class quick_insert_string_bench: public insert_string_base { +public: + void Bench(benchmark::State& state, quick_insert_string_cb quick_insert_func) { + uint32_t start_pos = (uint32_t)state.range(0); // Starting position + uint32_t count = (uint32_t)state.range(1); // Number of insertions + + if (start_pos + count >= TEST_WINDOW_SIZE - 4) { + state.SkipWithError("Parameters exceed window size"); + return; + } + + for (auto _ : state) { + state.PauseTiming(); + + // Reset hash tables + memset(s->head, 0, HASH_SIZE * sizeof(Pos)); + memset(s->prev, 0, MAX_WSIZE * sizeof(Pos)); + s->ins_h = 0; + + state.ResumeTiming(); + + // Benchmark quick_insert_string (single insertions) + for (uint32_t i = 0; i < count; i++) { + uint32_t result = quick_insert_func(s, start_pos + i); + benchmark::DoNotOptimize(result); + } + } + } +}; + +#define BENCHMARK_QUICK_INSERT_STRING(name, fptr, support_flag) \ + BENCHMARK_DEFINE_F(quick_insert_string_bench, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("Function " #name " not supported"); \ + } \ + Bench(state, fptr); \ + } \ + BENCHMARK_REGISTER_F(quick_insert_string_bench, name) \ + ->Args({100, 1}) /* Single insertion (baseline) */ \ + ->Args({100, 100}) /* 100 insertions (measure amortized cost) */ \ + ->Args({16000, 100}) /* 100 insertions at mid window (different hash distribution) */ \ + ->Unit(benchmark::kNanosecond); + +BENCHMARK_QUICK_INSERT_STRING(quick_integer_hash, ::quick_insert_string, 1); +BENCHMARK_QUICK_INSERT_STRING(quick_rolling_hash, ::quick_insert_string_roll, 1); diff --git a/neozip/test/benchmarks/benchmark_main.cc b/neozip/test/benchmarks/benchmark_main.cc new file mode 100644 index 0000000000..f3c227bdf7 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_main.cc @@ -0,0 +1,32 @@ +/* benchmark_main.cc -- benchmark suite main entry point + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> + +#include <benchmark/benchmark.h> + +#ifndef BUILD_ALT +extern "C" { +# include "zbuild.h" +# include "../test_cpu_features.h" + +# ifndef DISABLE_RUNTIME_CPU_DETECTION + struct cpu_features test_cpu_features; +# endif +} +#endif + +int main(int argc, char** argv) { +#ifndef BUILD_ALT +# ifndef DISABLE_RUNTIME_CPU_DETECTION + cpu_check_features(&test_cpu_features); +# endif +#endif + + ::benchmark::Initialize(&argc, argv); + ::benchmark::RunSpecifiedBenchmarks(); + + return EXIT_SUCCESS; +} diff --git a/neozip/test/benchmarks/benchmark_png_decode.cc b/neozip/test/benchmarks/benchmark_png_decode.cc new file mode 100644 index 0000000000..ce7c8f9304 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_png_decode.cc @@ -0,0 +1,126 @@ +#include <stdio.h> +#include <benchmark/benchmark.h> +#include "benchmark_png_shared.h" +#include <assert.h> + +class png_decode: public benchmark::Fixture { +protected: + png_dat inpng[10]; + + /* Backing this on the heap is a more realistic benchmark */ + uint8_t *output_img_buf = NULL; + +public: + /* Let's make the vanilla version have something extremely compressible */ + virtual void init_img(png_bytep img_bytes, size_t width, size_t height) { + init_compressible(img_bytes, width*height); + } + + void SetUp(const ::benchmark::State&) { + output_img_buf = (uint8_t*)malloc(IMWIDTH * IMHEIGHT * 3); + assert(output_img_buf != NULL); + init_img(output_img_buf, IMWIDTH, IMHEIGHT); + + /* First we need to author the png bytes to be decoded */ + for (int i = 0; i < 10; ++i) { + inpng[i] = {NULL, 0, 0}; + encode_png(output_img_buf, &inpng[i], i, IMWIDTH, IMHEIGHT); + } + } + + /* State in this circumstance will convey the compression level */ + void Bench(benchmark::State &state) { + for (auto _ : state) { + int compress_lvl = state.range(0); + png_parse_dat in = { inpng[compress_lvl].buf }; + uint32_t width, height; + decode_png(&in, (png_bytepp)&output_img_buf, IMWIDTH * IMHEIGHT * 3, width, height); + } + } + + void TearDown(const ::benchmark::State &) { + free(output_img_buf); + for (int i = 0; i < 10; ++i) { + free(inpng[i].buf); + } + } +}; + +class png_decode_realistic: public png_decode { +private: + bool test_files_found = false; + +public: + void SetUp(const ::benchmark::State &) { + output_img_buf = NULL; + output_img_buf = (uint8_t*)malloc(IMWIDTH * IMHEIGHT * 3); + /* Let's take all the images at different compression levels and jam their bytes into buffers */ + char test_fname[25]; + FILE *files[10]; + + /* Set all to NULL */ + memset(files, 0, sizeof(FILE*)); + + for (size_t i = 0; i < 10; ++i) { + sprintf(test_fname, "test_pngs/%1lu.png", i); + FILE *in_img = fopen(test_fname, "r"); + if (in_img == NULL) { + for (size_t j = 0; j < i; ++j) { + if (files[j]) + fclose(files[j]); + } + + /* For proper cleanup */ + for (size_t j = i; j < 10; ++j) { + inpng[i] = { NULL, 0, 0 }; + } + + return; + } + files[i] = in_img; + } + + test_files_found = true; + /* Now that we've established we have all the png files, let's read all of their bytes into buffers */ + for (size_t i = 0; i < 10; ++i) { + FILE *in_file = files[i]; + fseek(in_file, 0, SEEK_END); + size_t num_bytes = ftell(in_file); + rewind(in_file); + + uint8_t *raw_file = (uint8_t*)malloc(num_bytes); + if (raw_file == NULL) + abort(); + + inpng[i].buf = raw_file; + inpng[i].len = num_bytes; + inpng[i].buf_rem = 0; + + size_t bytes_read = fread(raw_file, 1, num_bytes, in_file); + if (bytes_read != num_bytes) { + fprintf(stderr, "couldn't read all of the bytes for file test_pngs/%lu.png", i); + abort(); + } + + fclose(in_file); + } + } + + void Bench(benchmark::State &state) { + if (!test_files_found) { + state.SkipWithError("Test imagery in test_pngs not found"); + } + + png_decode::Bench(state); + } +}; + +BENCHMARK_DEFINE_F(png_decode, png_decode)(benchmark::State &state) { + Bench(state); +} +BENCHMARK_REGISTER_F(png_decode, png_decode)->DenseRange(0, 9, 1)->Unit(benchmark::kMicrosecond); + +BENCHMARK_DEFINE_F(png_decode_realistic, png_decode_realistic)(benchmark::State &state) { + Bench(state); +} +BENCHMARK_REGISTER_F(png_decode_realistic, png_decode_realistic)->DenseRange(0, 9, 1)->Unit(benchmark::kMicrosecond); diff --git a/neozip/test/benchmarks/benchmark_png_encode.cc b/neozip/test/benchmarks/benchmark_png_encode.cc new file mode 100644 index 0000000000..d5e25cbc9d --- /dev/null +++ b/neozip/test/benchmarks/benchmark_png_encode.cc @@ -0,0 +1,54 @@ +#include <stdio.h> +#include <assert.h> +#include <benchmark/benchmark.h> +#include "benchmark_png_shared.h" + +#define IMWIDTH 1024 +#define IMHEIGHT 1024 + +class png_encode: public benchmark::Fixture { +private: + png_dat outpng; + + /* Backing this on the heap is a more realistic benchmark */ + uint8_t *input_img_buf = NULL; + +public: + /* Let's make the vanilla version have something extremely compressible */ + virtual void init_img(png_bytep img_bytes, size_t width, size_t height) { + init_compressible(img_bytes, width * height); + } + + void SetUp(const ::benchmark::State&) { + input_img_buf = (uint8_t*)malloc(IMWIDTH * IMHEIGHT * 3); + outpng.buf = (uint8_t*)malloc(IMWIDTH * IMHEIGHT * 3); + /* Using malloc rather than zng_alloc so that we can call realloc. + * IMWIDTH * IMHEIGHT is likely to be more than enough bytes, though, + * given that a simple run length encoding already pretty much can + * reduce to this */ + outpng.len = 0; + outpng.buf_rem = IMWIDTH * IMHEIGHT * 3; + assert(input_img_buf != NULL); + assert(outpng.buf != NULL); + init_img(input_img_buf, IMWIDTH, IMHEIGHT); + } + + /* State in this circumstance will convey the compression level */ + void Bench(benchmark::State &state) { + for (auto _ : state) { + encode_png((png_bytep)input_img_buf, &outpng, state.range(0), IMWIDTH, IMHEIGHT); + outpng.buf_rem = outpng.len; + outpng.len = 0; + } + } + + void TearDown(const ::benchmark::State &) { + free(input_img_buf); + free(outpng.buf); + } +}; + +BENCHMARK_DEFINE_F(png_encode, encode_compressible)(benchmark::State &state) { + Bench(state); +} +BENCHMARK_REGISTER_F(png_encode, encode_compressible)->DenseRange(0, 9, 1)->Unit(benchmark::kMicrosecond); diff --git a/neozip/test/benchmarks/benchmark_png_shared.h b/neozip/test/benchmarks/benchmark_png_shared.h new file mode 100644 index 0000000000..bde679e7d3 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_png_shared.h @@ -0,0 +1,146 @@ +#pragma once + +#include <stdlib.h> +#include <stdint.h> +#include <string.h> + +#define IMWIDTH 1024 +#define IMHEIGHT 1024 + +extern "C" { +# include <png.h> +} + +typedef struct _png_dat { + uint8_t *buf; + int64_t len; + size_t buf_rem; +} png_dat; + +typedef struct _png_parse_dat { + uint8_t *cur_pos; +} png_parse_dat; + +/* Write a customized write callback so that we write back to an in-memory buffer. + * This allows the testing to not involve disk IO */ +static void png_write_cb(png_structp pngp, png_bytep data, png_size_t len) { + png_dat *dat = (png_dat*)png_get_io_ptr(pngp); + size_t curSize = dat->len + len; + + /* realloc double the requested buffer size to prevent excessive reallocs */ + if (dat->buf_rem < len) { + dat->buf = (uint8_t*)realloc(dat->buf, dat->len + dat->buf_rem + 2 * len); + + if (!dat->buf) { + /* Pretty unlikely but we'll put it here just in case */ + fprintf(stderr, "realloc failed, exiting\n"); + exit(1); + } + + dat->buf_rem += 2 * len; + } + + memcpy(dat->buf + dat->len, data, len); + dat->len = curSize; + dat->buf_rem -= len; +} + +static void init_compressible(png_bytep buf, size_t num_pix) { + /* It doesn't actually matter what we make this, but for + * the sake of a reasonable test image, let's make this + * be a stripe of R, G, & B, with no alpha channel */ + int32_t i = 0; + int32_t red_stop = num_pix / 3; + int32_t blue_stop = 2 * num_pix / 3; + int32_t green_stop = num_pix; + + for (int32_t x = 0; i < red_stop; x += 3, ++i) { + buf[x] = 255; + buf[x + 1] = 0; + buf[x + 2] = 0; + } + + for (int32_t x = 3 * i; i < blue_stop; x+= 3, ++i) { + buf[x] = 0; + buf[x + 1] = 255; + buf[x + 2] = 0; + } + + for (int32_t x = 3 * i; i < green_stop; x += 3, ++i) { + buf[x] = 0; + buf[x + 1] = 0; + buf[x + 2] = 255; + } +} + +static inline void encode_png(png_bytep buf, png_dat *outpng, int32_t comp_level, uint32_t width, uint32_t height) { + png_structp png = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + /* Most of this error handling is _likely_ not necessary. Likewise it's likely + * a lot of this stuff can be done in the setup function to avoid measuring this + * fixed setup time, but for now we'll do it here */ + if (!png) abort(); + + png_infop info = png_create_info_struct(png); + if (!info) abort(); + + png_set_write_fn(png, outpng, png_write_cb, NULL); + png_bytep *png_row_ptrs = new png_bytep[height]; + for (int i = 0; i < IMHEIGHT; ++i) { + png_row_ptrs[i] = (png_bytep)&buf[3*i*width]; + } + + png_set_IHDR(png, info, IMWIDTH, IMHEIGHT, 8, PNG_COLOR_TYPE_RGB, + PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, + PNG_FILTER_TYPE_DEFAULT); + + png_write_info(png, info); + png_set_compression_level(png, comp_level); + png_set_filter(png, 0, PNG_FILTER_NONE); + png_write_image(png, (png_bytepp)png_row_ptrs); + png_write_end(png, NULL); + png_destroy_write_struct(&png, &info); + delete[] png_row_ptrs; +} + +static void read_from_pngdat(png_structp png, png_bytep out, png_size_t bytes_to_read) { + png_parse_dat *io = (png_parse_dat*)png_get_io_ptr(png); + memcpy(out, io->cur_pos, bytes_to_read); + io->cur_pos += bytes_to_read; +} + +static inline int decode_png(png_parse_dat *dat, png_bytepp out_bytes, size_t in_size, uint32_t &width, uint32_t &height) { + png_structp png = NULL; + png = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); + + if (!png) abort(); + png_infop info = NULL; + info = png_create_info_struct(png); + if (!info) abort(); + + png_set_read_fn(png, dat, read_from_pngdat); + png_read_info(png, info); + + int bit_depth = 0, color_type = -1; + png_get_IHDR(png, info, &width, &height, &bit_depth, &color_type, NULL, NULL, NULL); + + size_t im_size = width * height * bit_depth/8 * 3; + if (color_type != PNG_COLOR_TYPE_RGB) { + fprintf(stderr, "expected an 8 bpp RGB image\n"); + abort(); + } + + if (im_size > in_size) { + *out_bytes = (png_bytep)realloc(*out_bytes, im_size); + } + + png_bytep *out_rows = new png_bytep[height]; + for (size_t i = 0; i < height; ++i) + out_rows[i] = *out_bytes + (width*i*3); + + png_read_rows(png, out_rows, NULL, height); + png_destroy_read_struct(&png, &info, NULL); + delete[] out_rows; + + return im_size; +} diff --git a/neozip/test/benchmarks/benchmark_slidehash.cc b/neozip/test/benchmarks/benchmark_slidehash.cc new file mode 100644 index 0000000000..e74c06e873 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_slidehash.cc @@ -0,0 +1,116 @@ +/* benchmark_slidehash.cc -- benchmark slide_hash variants + * Copyright (C) 2022 Adam Stylinski, Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <limits.h> + +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "zutil_p.h" +# include "deflate.h" +# include "arch_functions.h" +# include "../test_cpu_features.h" +} + +#define MAX_RANDOM_INTS 32768 + +class slide_hash: public benchmark::Fixture { +private: + uint16_t *l0; + uint16_t *l1; + deflate_state *s_g; + +public: + /** + * @brief Prepare the benchmark fixture by allocating and initializing working data. + * + * Allocates two 64-byte-aligned arrays of `uint16_t` (one of size HASH_SIZE, one of size MAX_RANDOM_INTS), + * fills them with pseudorandom `uint16_t` values, allocates a `deflate_state` structure, and sets + * its `head` and `prev` pointers to the allocated arrays. + * + * @param state Benchmark-provided state object from Google Benchmark (supplied by the framework). + */ + void SetUp(const ::benchmark::State&) { + l0 = (uint16_t *)zng_alloc_aligned(HASH_SIZE * sizeof(uint16_t), 64); + + for (uint32_t i = 0; i < HASH_SIZE; i++) { + l0[i] = (uint16_t)rand(); + } + + l1 = (uint16_t *)zng_alloc_aligned(MAX_RANDOM_INTS * sizeof(uint16_t), 64); + + for (int32_t i = 0; i < MAX_RANDOM_INTS; i++) { + l1[i] = (uint16_t)rand(); + } + + deflate_state *s = (deflate_state*)malloc(sizeof(deflate_state)); + s->head = l0; + s->prev = l1; + s_g = s; + } + + void Bench(benchmark::State& state, slide_hash_func slide_hash) { + s_g->w_size = (uint32_t)state.range(0); + + for (auto _ : state) { + slide_hash(s_g); + benchmark::DoNotOptimize(s_g); + } + } + + void TearDown(const ::benchmark::State&) { + zng_free_aligned(l0); + zng_free_aligned(l1); + free(s_g); + } +}; + +#define BENCHMARK_SLIDEHASH(name, fptr, support_flag) \ + BENCHMARK_DEFINE_F(slide_hash, name)(benchmark::State& state) { \ + if (!(support_flag)) { \ + state.SkipWithError("CPU does not support " #name); \ + } \ + Bench(state, fptr); \ + } \ + BENCHMARK_REGISTER_F(slide_hash, name)->RangeMultiplier(2)->Range(512, MAX_RANDOM_INTS); + +#if defined(WITH_ALL_FALLBACKS) || !(defined(__x86_64__) || defined(_M_X64)) +BENCHMARK_SLIDEHASH(c, slide_hash_c, 1); +#endif + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +BENCHMARK_SLIDEHASH(native, native_slide_hash, 1); +#else + +#ifdef ARM_SIMD +BENCHMARK_SLIDEHASH(armv6, slide_hash_armv6, test_cpu_features.arm.has_simd); +#endif +#ifdef ARM_NEON +BENCHMARK_SLIDEHASH(neon, slide_hash_neon, test_cpu_features.arm.has_neon); +#endif +#ifdef POWER8_VSX +BENCHMARK_SLIDEHASH(power8, slide_hash_power8, test_cpu_features.power.has_arch_2_07); +#endif +#ifdef PPC_VMX +BENCHMARK_SLIDEHASH(vmx, slide_hash_vmx, test_cpu_features.power.has_altivec); +#endif +#ifdef RISCV_RVV +BENCHMARK_SLIDEHASH(rvv, slide_hash_rvv, test_cpu_features.riscv.has_rvv); +#endif +#ifdef X86_SSE2 +BENCHMARK_SLIDEHASH(sse2, slide_hash_sse2, test_cpu_features.x86.has_sse2); +#endif +#ifdef X86_AVX2 +BENCHMARK_SLIDEHASH(avx2, slide_hash_avx2, test_cpu_features.x86.has_avx2); +#endif +#ifdef LOONGARCH_LSX +BENCHMARK_SLIDEHASH(lsx, slide_hash_lsx, test_cpu_features.loongarch.has_lsx); +#endif +#ifdef LOONGARCH_LASX +BENCHMARK_SLIDEHASH(lasx, slide_hash_lasx, test_cpu_features.loongarch.has_lasx); +#endif + +#endif
\ No newline at end of file diff --git a/neozip/test/benchmarks/benchmark_uncompress.cc b/neozip/test/benchmarks/benchmark_uncompress.cc new file mode 100644 index 0000000000..6a82c05d01 --- /dev/null +++ b/neozip/test/benchmarks/benchmark_uncompress.cc @@ -0,0 +1,97 @@ +/* benchmark_uncompress.cc -- benchmark uncompress() + * Copyright (C) 2024-2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <assert.h> +#include <benchmark/benchmark.h> + +extern "C" { +# include "zbuild.h" +# include "zutil_p.h" +# if defined(ZLIB_COMPAT) +# include "zlib.h" +# else +# include "zlib-ng.h" +# endif +# include "test/compressible_data_p.h" +} + +#define MAX_SIZE (1024 * 1024) +#define NUM_TESTS 6 + +class uncompress_bench: public benchmark::Fixture { +private: + uint8_t *inbuff; + uint8_t *outbuff; + uint8_t *compressed_buff[NUM_TESTS]; + z_uintmax_t compressed_sizes[NUM_TESTS]; + uint32_t sizes[NUM_TESTS] = {1, 64, 1024, 16384, 128*1024, 1024*1024}; + +public: + void SetUp(::benchmark::State& state) { + outbuff = (uint8_t *)malloc(MAX_SIZE + 16); + if (outbuff == NULL) { + state.SkipWithError("malloc failed"); + return; + } + + // Initialize input buffer with highly compressible data, interspersed + // with small amounts of random data and 3-byte matches. + inbuff = gen_compressible_data(MAX_SIZE); + if (inbuff == NULL) { + free(outbuff); + outbuff = NULL; + state.SkipWithError("gen_compressible_data() failed"); + return; + } + + // Compress data into different buffers + for (int i = 0; i < NUM_TESTS; ++i) { + compressed_buff[i] = (uint8_t *)zng_alloc(sizes[i] + 64); + assert(compressed_buff[i] != NULL); + + z_uintmax_t compressed_size = sizes[i] + 64; + int err = PREFIX(compress2)(compressed_buff[i], &compressed_size, inbuff, sizes[i], Z_BEST_COMPRESSION); + if (err != Z_OK) { + fprintf(stderr, "compress() failed with error %d\n", err); + abort(); + } + compressed_sizes[i] = compressed_size; + } + } + + void Bench(benchmark::State& state) { + int err; + + for (auto _ : state) { + int index = 0; + while (sizes[index] != (uint32_t)state.range(0)) ++index; + + z_uintmax_t out_size = MAX_SIZE; + err = PREFIX(uncompress)(outbuff, &out_size, compressed_buff[index], compressed_sizes[index]); + if (err != Z_OK) { + fprintf(stderr, "uncompress() failed with error %d\n", err); + abort(); + } + } + } + + void TearDown(const ::benchmark::State&) { + free(inbuff); + free(outbuff); + + for (int i = 0; i < NUM_TESTS; ++i) { + zng_free(compressed_buff[i]); + } + } +}; + +#define BENCHMARK_UNCOMPRESS(name) \ + BENCHMARK_DEFINE_F(uncompress_bench, name)(benchmark::State& state) { \ + Bench(state); \ + } \ + BENCHMARK_REGISTER_F(uncompress_bench, name)->Arg(1)->Arg(64)->Arg(1024)->Arg(16<<10)->Arg(128<<10)->Arg(1024<<10); + +BENCHMARK_UNCOMPRESS(uncompress_bench); diff --git a/neozip/test/cmake/compress-and-verify.cmake b/neozip/test/cmake/compress-and-verify.cmake new file mode 100644 index 0000000000..2e6c37f145 --- /dev/null +++ b/neozip/test/cmake/compress-and-verify.cmake @@ -0,0 +1,287 @@ +# compress-and-verify.cmake -- Runs a test against an input file to make sure that the specified +# targets are able to to compress and then decompress successfully. Optionally verify +# the results with gzip. Output files are generated with unique names to prevent parallel +# tests from corrupting one another. Default target arguments are compatible with minigzip. + +# Copyright (C) 2021 Nathan Moinvaziri +# Licensed under the Zlib license, see LICENSE.md for details + +# that test a specific input file for compression or decompression. + +# Required Variables +# INPUT - Input file to test +# TARGET or - Command to run for both compress and decompress +# COMPRESS_TARGET and - Command to run to compress input file +# DECOMPRESS_TARGET - Command to run to decompress output file + +# Optional Variables +# TEST_NAME - Name of test to use when constructing output file paths +# COMPRESS_ARGS - Arguments to pass for compress command (default: -c -k) +# DECOMPRESS_ARGS - Arguments to pass to decompress command (default: -d -c) + +# GZIP_VERIFY - Verify that gzip can decompress the COMPRESS_TARGET output and +# verify that DECOMPRESS_TARGET can decompress gzip output of INPUT +# COMPARE - Verify decompressed output is the same as input +# FILEMODE - Pass data to/from (de)compressor using files instead of stdin/stdout +# SUCCESS_EXIT - List of successful exit codes (default: 0, ie: 0;1) + +if(TARGET) + set(COMPRESS_TARGET ${TARGET}) + set(DECOMPRESS_TARGET ${TARGET}) +endif() + +if(NOT DEFINED INPUT OR NOT DEFINED COMPRESS_TARGET OR NOT DEFINED DECOMPRESS_TARGET) + message(FATAL_ERROR "Compress test arguments missing") +endif() + +# Set default values +if(NOT DEFINED COMPARE) + set(COMPARE ON) +endif() +if(NOT DEFINED FILEMODE) + set(FILEMODE OFF) +endif() +if(NOT DEFINED COMPRESS_ARGS) + set(COMPRESS_ARGS -3 -k) + if(NOT FILEMODE) + list(APPEND COMPRESS_ARGS -c) + endif() +endif() +if(NOT DEFINED DECOMPRESS_ARGS) + set(DECOMPRESS_ARGS -d -k) + if(NOT FILEMODE) + list(APPEND DECOMPRESS_ARGS -c) + endif() +endif() +if(NOT DEFINED GZIP_VERIFY) + set(GZIP_VERIFY ON) +endif() +if(NOT DEFINED SUCCESS_EXIT) + set(SUCCESS_EXIT 0) +endif() + +# Use test name from input file name +if(NOT DEFINED TEST_NAME) + get_filename_component(TEST_NAME "${INPUT}" NAME) +endif() + +# Generate unique output path so multiple tests can be executed at the same time +string(RANDOM LENGTH 6 UNIQUE_ID) +string(REPLACE "." "-" TEST_NAME "${TEST_NAME}") +set(OUTPUT_BASE "${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/${TEST_NAME}-${UNIQUE_ID}") + +# Ensure directory exists for output files +get_filename_component(OUTPUT_DIR "${OUTPUT_BASE}" DIRECTORY) +file(MAKE_DIRECTORY "${OUTPUT_DIR}") + +# Cleanup temporary files +macro(cleanup_always) + file(GLOB TEMP_FILES ${OUTPUT_BASE}*) + file(REMOVE ${TEMP_FILES}) +endmacro() +# Clean up temporary files if not on CI +macro(cleanup) + if(NOT DEFINED ENV{CI}) + cleanup_always() + endif() +endmacro() + +# Show differences between two files +macro(diff src1 src2) + find_program(XXD xxd) + if(XXD) + find_program(DIFF diff) + if(DIFF) + set(XXD_COMMAND ${XXD} ${src1} ${src1}.hex) + execute_process(COMMAND ${XXD_COMMAND}) + set(XXD_COMMAND ${XXD} ${src2} ${src2}.hex) + execute_process(COMMAND ${XXD_COMMAND}) + + set(DIFF_COMMAND ${DIFF} -u ${src1}.hex ${src2}.hex) + execute_process(COMMAND ${DIFF_COMMAND} + OUTPUT_FILE ${src2}.diff) + + file(READ ${src2}.diff DIFF_OUTPUT) + message(STATUS "Diff:\n${DIFF_OUTPUT}") + + if(NOT DEFINED ENV{CI}) + file(REMOVE ${src1}.hex ${src2}.hex ${src2}.diff) + endif() + endif() + endif() +endmacro() + + +macro(exec_streams tcmd tsrc tdst) + execute_process(COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${tcmd}" + -DINPUT=${tsrc} + -DOUTPUT=${tdst} + "-DSUCCESS_EXIT=${SUCCESS_EXIT}" + -P ${CMAKE_CURRENT_LIST_DIR}/run-and-redirect.cmake + RESULT_VARIABLE CMD_RESULT) +endmacro() + +macro(exec_files tcmd tsrc) + execute_process(COMMAND + ${tcmd} ${tsrc} + RESULT_VARIABLE CMD_RESULT) +endmacro() + +# Compress input file +if(NOT EXISTS ${INPUT}) + message(FATAL_ERROR "Cannot find compress input: ${INPUT}") +endif() + +set(COMPRESS_COMMAND ${COMPRESS_TARGET} ${COMPRESS_ARGS}) + +set(INPUT_FILE ${OUTPUT_BASE}) + +# Make CMake copy and rename file in one operation +# The copied file permissions is standard 644 (-rw-r--r--) +if(NOT CMAKE_VERSION VERSION_LESS "3.19") + set(CONFIGURE_NO_SOURCE_PERMISSIONS NO_SOURCE_PERMISSIONS) +endif() +configure_file(${INPUT} ${INPUT_FILE} COPYONLY ${CONFIGURE_NO_SOURCE_PERMISSIONS}) + +message(STATUS "Compress ${COMPRESS_COMMAND}") +message(STATUS " Source file: ${INPUT}") +message(STATUS " Compression input file: ${INPUT_FILE}") +message(STATUS " Output: ${OUTPUT_BASE}.gz") + +if(FILEMODE) + exec_files("${COMPRESS_COMMAND}" "${INPUT_FILE}") +else() + exec_streams("${COMPRESS_COMMAND}" "${INPUT_FILE}" "${OUTPUT_BASE}.gz") +endif() + +if(CMD_RESULT) + cleanup() + message(FATAL_ERROR "Compress failed: ${CMD_RESULT}") +endif() + +# Decompress output +if(NOT EXISTS ${OUTPUT_BASE}.gz) + cleanup() + message(FATAL_ERROR "Cannot find decompress input: ${OUTPUT_BASE}.gz") +endif() + +set(DECOMPRESS_COMMAND ${DECOMPRESS_TARGET} ${DECOMPRESS_ARGS}) + +message(STATUS "Decompress ${DECOMPRESS_COMMAND}") +message(STATUS " Input: ${OUTPUT_BASE}.gz") +message(STATUS " Output: ${OUTPUT_BASE}") + +if(FILEMODE) + exec_files("${DECOMPRESS_COMMAND}" "${OUTPUT_BASE}.gz") +else() + exec_streams("${DECOMPRESS_COMMAND}" "${OUTPUT_BASE}.gz" "${OUTPUT_BASE}") +endif() + +if(CMD_RESULT) + cleanup() + message(FATAL_ERROR "Decompress failed: ${CMD_RESULT}") +endif() + +if(COMPARE) + message(STATUS "Diff comparison") + message(STATUS " Input: ${INPUT}") + message(STATUS " Output: ${OUTPUT_BASE}") + + # Compare decompressed output with original input file + execute_process(COMMAND ${CMAKE_COMMAND} + -E compare_files ${INPUT} ${OUTPUT_BASE} + RESULT_VARIABLE CMD_RESULT) + + if(CMD_RESULT) + diff(${INPUT} ${OUTPUT_BASE}) + cleanup() + message(FATAL_ERROR "Compare decompress failed: ${CMD_RESULT}") + endif() +endif() + +if(GZIP_VERIFY AND NOT "${COMPRESS_ARGS}" MATCHES "-T") + # Transparent writing does not use gzip format + find_program(GZIP gzip) + if(GZIP) + if(NOT EXISTS ${OUTPUT_BASE}.gz) + cleanup() + message(FATAL_ERROR "Cannot find gzip decompress input: ${OUTPUT_BASE}.gz") + endif() + + # Check gzip can decompress our compressed output + set(GZ_DECOMPRESS_COMMAND ${GZIP} -d) + + message(STATUS "Gzip decompress ${GZ_DECOMPRESS_COMMAND}") + message(STATUS " Input: ${OUTPUT_BASE}.gz") + message(STATUS " Output: ${OUTPUT_BASE}-ungzip") + + exec_streams("${GZ_DECOMPRESS_COMMAND}" "${OUTPUT_BASE}.gz" "${OUTPUT_BASE}-ungzip") + + if(CMD_RESULT) + cleanup() + message(FATAL_ERROR "Gzip decompress failed: ${CMD_RESULT}") + endif() + + # Compare gzip output with original input file + execute_process(COMMAND ${CMAKE_COMMAND} + -E compare_files ${INPUT} ${OUTPUT_BASE}-ungzip + RESULT_VARIABLE CMD_RESULT) + + if(CMD_RESULT) + diff(${INPUT} ${OUTPUT_BASE}-ungzip) + cleanup() + message(FATAL_ERROR "Compare gzip decompress failed: ${CMD_RESULT}") + endif() + + # Compress input file with gzip + set(GZ_COMPRESS_COMMAND ${GZIP} --stdout) + + message(STATUS "Gzip compress ${GZ_COMPRESS_COMMAND}") + message(STATUS " Input: ${INPUT}") + message(STATUS " Output: ${OUTPUT_BASE}-gzip.gz") + + exec_streams("${GZ_COMPRESS_COMMAND}" "${INPUT}" "${OUTPUT_BASE}-gzip.gz") + + if(CMD_RESULT) + cleanup() + message(FATAL_ERROR "Gzip compress failed: ${CMD_RESULT}") + endif() + + if(NOT EXISTS ${OUTPUT_BASE}-gzip.gz) + cleanup() + message(FATAL_ERROR "Cannot find decompress gzip input: ${OUTPUT_BASE}-gzip.gz") + endif() + + message(STATUS "Decompress gzip ${DECOMPRESS_COMMAND}") + message(STATUS " Input: ${OUTPUT_BASE}-gzip.gz") + message(STATUS " Output: ${OUTPUT_BASE}-gzip") + + # Check decompress target can handle gzip compressed output + if(FILEMODE) + exec_files("${DECOMPRESS_COMMAND}" "${OUTPUT_BASE}-gzip.gz") + else() + exec_streams("${DECOMPRESS_COMMAND}" "${OUTPUT_BASE}-gzip.gz" "${OUTPUT_BASE}-gzip") + endif() + + if(CMD_RESULT) + cleanup() + message(FATAL_ERROR "Decompress gzip failed: ${CMD_RESULT}") + endif() + + if(COMPARE) + # Compare original input file with gzip decompressed output + execute_process(COMMAND ${CMAKE_COMMAND} + -E compare_files ${INPUT} ${OUTPUT_BASE}-gzip + RESULT_VARIABLE CMD_RESULT) + + if(CMD_RESULT) + diff(${INPUT} ${OUTPUT_BASE}-gzip) + cleanup() + message(FATAL_ERROR "Compare decompress gzip failed: ${CMD_RESULT}") + endif() + endif() + endif() +endif() + +cleanup_always() diff --git a/neozip/test/cmake/run-and-compare.cmake b/neozip/test/cmake/run-and-compare.cmake new file mode 100644 index 0000000000..eb2218dcb5 --- /dev/null +++ b/neozip/test/cmake/run-and-compare.cmake @@ -0,0 +1,72 @@ +# run-and-compare.cmake -- Runs a command and compares its output to an expected value + +# Copyright (C) 2021 Nathan Moinvaziri +# Licensed under the Zlib license, see LICENSE.md for details + +# Required Variables +# COMMAND - Command to run +# OUTPUT - Standard output +# COMPARE - String to compare output against + +# Optional Variables +# INPUT - Standard input +# IGNORE_LINE_ENDINGS - Ignore line endings when comparing output + +if(NOT DEFINED OUTPUT OR NOT DEFINED COMPARE OR NOT DEFINED COMMAND) + message(FATAL_ERROR "Run and compare arguments missing") +endif() + +# Ensure directory exists for output files +get_filename_component(OUTPUT_DIR "${OUTPUT}" DIRECTORY) +file(MAKE_DIRECTORY "${OUTPUT_DIR}") + +if(INPUT) + # Run command with stdin input and redirect stdout to output + execute_process(COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${COMMAND}" + -DINPUT=${INPUT} + -DOUTPUT=${OUTPUT} + "-DSUCCESS_EXIT=${SUCCESS_EXIT}" + -P ${CMAKE_CURRENT_LIST_DIR}/run-and-redirect.cmake + RESULT_VARIABLE CMD_RESULT) +else() + # Run command and redirect stdout to output + execute_process(COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${COMMAND}" + -DOUTPUT=${OUTPUT} + "-DSUCCESS_EXIT=${SUCCESS_EXIT}" + -P ${CMAKE_CURRENT_LIST_DIR}/run-and-redirect.cmake + RESULT_VARIABLE CMD_RESULT) +endif() + +if(CMD_RESULT) + message(FATAL_ERROR "Run before compare failed: ${CMD_RESULT}") +endif() + +# Use configure_file to normalize line-endings +if(IGNORE_LINE_ENDINGS) + # Rewrite files with normalized line endings to temporary directory + get_filename_component(COMPARE_NAME ${COMPARE} NAME) + set(COMPARE_TEMP ${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/${COMPARE_NAME}.cmp) + configure_file(${COMPARE} ${COMPARE_TEMP} NEWLINE_STYLE LF) + set(COMPARE ${COMPARE_TEMP}) + + get_filename_component(OUTPUT_NAME ${OUTPUT} NAME) + set(OUTPUT_TEMP ${CMAKE_CURRENT_BINARY_DIR}/Testing/Temporary/${OUTPUT_NAME}.cmp) + configure_file(${OUTPUT} ${OUTPUT_TEMP} NEWLINE_STYLE LF) + set(OUTPUT ${OUTPUT_TEMP}) +endif() + +# Compare that output is equal to specified file +execute_process(COMMAND ${CMAKE_COMMAND} + -E compare_files ${COMPARE} ${OUTPUT} + RESULT_VARIABLE CMD_RESULT) + +# Delete temporary files used to normalize line-endings +if(IGNORE_LINE_ENDINGS) + file(REMOVE ${COMPARE} ${OUTPUT}) +endif() + +if(CMD_RESULT) + message(FATAL_ERROR "Run compare failed: ${CMD_RESULT}") +endif() diff --git a/neozip/test/cmake/run-and-redirect.cmake b/neozip/test/cmake/run-and-redirect.cmake new file mode 100644 index 0000000000..6651d1a302 --- /dev/null +++ b/neozip/test/cmake/run-and-redirect.cmake @@ -0,0 +1,54 @@ +# run-and-redirect.cmake -- Runs a command and validates exit code + +# Copyright (C) 2021 Nathan Moinvaziri +# Licensed under the Zlib license, see LICENSE.md for details + +# Normally ctest will always fail with non-zero exit code, but we have tests +# that need to check specific exit codes. + +# Required Variables +# COMMAND - Command to run + +# Optional Variables +# INPUT - Standard input +# OUTPUT - Standard output (default: /dev/null) +# SUCCESS_EXIT - List of successful exit codes (default: 0, ie: 0;1) + +# If no output is specified, discard output +if(NOT DEFINED OUTPUT) + if(WIN32) + set(OUTPUT NUL) + else() + set(OUTPUT /dev/null) + endif() +endif() + +if(INPUT) + # Check to see that input file exists + if(NOT EXISTS ${INPUT}) + message(FATAL_ERROR "Cannot find input: ${INPUT}") + endif() + # Execute with both stdin and stdout file + execute_process(COMMAND ${COMMAND} + RESULT_VARIABLE CMD_RESULT + INPUT_FILE ${INPUT} + OUTPUT_FILE ${OUTPUT}) +else() + # Execute with only stdout file + execute_process(COMMAND ${COMMAND} + RESULT_VARIABLE CMD_RESULT + OUTPUT_FILE ${OUTPUT}) +endif() + +# Check if exit code is in list of successful exit codes +if(SUCCESS_EXIT) + list(FIND SUCCESS_EXIT ${CMD_RESULT} _INDEX) + if (${_INDEX} GREATER -1) + set(CMD_RESULT 0) + endif() +endif() + +# Check to see if successful +if(CMD_RESULT) + message(FATAL_ERROR "${COMMAND} failed: ${CMD_RESULT}") +endif() diff --git a/neozip/test/cmake/test-cves.cmake b/neozip/test/cmake/test-cves.cmake new file mode 100644 index 0000000000..4a08604034 --- /dev/null +++ b/neozip/test/cmake/test-cves.cmake @@ -0,0 +1,33 @@ +# test-cves.cmake -- Tests targeting common vulnerabilities and exposures + +set(CVES CVE-2002-0059 CVE-2004-0797 CVE-2005-1849 CVE-2005-2096) +foreach(cve ${CVES}) + set(CVE_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:minigzip> -d) + add_test(NAME ${cve} + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${CVE_COMMAND}" + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/${cve}/test.gz + "-DSUCCESS_EXIT=0;1" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) +endforeach() + +set(CVE_COMPRESS_LEVELS 6 1 2) +foreach(cve_compress_level ${CVE_COMPRESS_LEVELS}) + add_test(NAME CVE-2018-25032-fixed-level-${cve_compress_level} + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIDEFLATE_COMMAND}" + "-DCOMPRESS_ARGS=-c;-k;-m;1;-w;-15;-s;4;-F;-${cve_compress_level}" + "-DDECOMPRESS_ARGS=-c;-k;-d;-m;1;-w;-15;-${cve_compress_level}" + -DGZIP_VERIFY=OFF + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/CVE-2018-25032/fixed.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + + add_test(NAME CVE-2018-25032-default-level-${cve_compress_level} + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIDEFLATE_COMMAND}" + "-DCOMPRESS_ARGS=-c;-k;-m;1;-w;-15;-s;4;-${cve_compress_level}" + "-DDECOMPRESS_ARGS=-c;-k;-d;-m;1;-w;-15;-${cve_compress_level}" + -DGZIP_VERIFY=OFF + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/CVE-2018-25032/default.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) +endforeach() diff --git a/neozip/test/cmake/test-data.cmake b/neozip/test/cmake/test-data.cmake new file mode 100644 index 0000000000..e60c356e46 --- /dev/null +++ b/neozip/test/cmake/test-data.cmake @@ -0,0 +1,68 @@ +# test-data.cmake - Tests targeting data files in the data directory + +# Test compress and verify test against data file using extra args +macro(test_minigzip name path) + # Construct compression arguments for minigzip + set(compress_args -k -c) + foreach(extra_arg IN ITEMS "${ARGN}") + list(APPEND compress_args ${extra_arg}) + endforeach() + + # Create unique friendly string for test + string(REPLACE ";" "" arg_list "${ARGN}") + string(REPLACE " " "" arg_list "${arg_list}") + string(REPLACE "-" "" arg_list "${arg_list}") + + set(test_id minigzip-${name}-${arg_list}) + + if(NOT TEST ${test_id}) + add_test(NAME ${test_id} + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIGZIP_COMMAND}" + "-DCOMPRESS_ARGS=${compress_args}" + "-DDECOMPRESS_ARGS=-d;-c" + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/${path} + -DTEST_NAME=${test_id} + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + endif() +endmacro() + +# List of arg combinations to use during compression +set(TEST_CONFIGS + -R # Z_RLE + -h # Z_HUFFMAN_ONLY + -T # Direct store + -0 # No compression + -1 # Deflate quick + -2 # Deflate fast + -4 # Deflate medium (lazy matches) + "-5;-F" # Deflate medium (Z_FIXED) + -6 # Deflate medium + -9 # Deflate slow + "-9;-f" # Deflate slow (Z_FILTERED) +) + +# Enumerate all files in data directory to run tests against +file(GLOB_RECURSE TEST_FILE_PATHS + LIST_DIRECTORIES false + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*) + +# For all files in the data directory, run tests against them +foreach(test_file_path ${TEST_FILE_PATHS}) + if("${test_file_path}" MATCHES ".gz$" OR "${test_file_path}" MATCHES ".out$" OR + "${test_file_path}" MATCHES "/.git/" OR "${test_file_path}" MATCHES ".md$") + continue() + endif() + foreach(test_config ${TEST_CONFIGS}) + get_filename_component(test_name ${test_file_path} NAME) + if (test_name STREQUAL "") + continue() + endif() + test_minigzip(${test_name} ${test_file_path} ${test_config}) + endforeach() +endforeach() + +# Additional tests to verify with automatic data type detection arg +test_minigzip("detect-text" "data/lcet10.txt" -A) +test_minigzip("detect-binary" "data/paper-100k.pdf" -A) diff --git a/neozip/test/cmake/test-issues.cmake b/neozip/test/cmake/test-issues.cmake new file mode 100644 index 0000000000..e731dd57dd --- /dev/null +++ b/neozip/test/cmake/test-issues.cmake @@ -0,0 +1,84 @@ +# test-issues.cmake -- Tests targeting specific GitHub issues + +add_test(NAME GH-361 + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIGZIP_COMMAND}" + "-DCOMPRESS_ARGS=-c;-k;-4" + -DTEST_NAME=GH-361-test-txt + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-361/test.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-364 + COMMAND ${CMAKE_COMMAND} + "-DCOMPRESS_TARGET=${SWITCHLEVELS_COMMAND}" + "-DCOMPRESS_ARGS=1;5;9;3" + "-DDECOMPRESS_TARGET=${MINIGZIP_COMMAND}" + -DTEST_NAME=GH-364-test-bin + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-364/test.bin + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-382 + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIDEFLATE_COMMAND}" + "-DCOMPRESS_ARGS=-c;-m;1;-w;-15;-1;-s;4" + "-DDECOMPRESS_ARGS=-c;-d;-m;1;-w;-15" + -DGZIP_VERIFY=OFF + -DTEST_NAME=GH-382-defneg3-dat + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-382/defneg3.dat + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-536-segfault + COMMAND ${CMAKE_COMMAND} + "-DCOMPRESS_TARGET=${SWITCHLEVELS_COMMAND}" + "-DCOMPRESS_ARGS=6;9744;1;91207" + "-DDECOMPRESS_TARGET=${MINIGZIP_COMMAND}" + -DCOMPARE=OFF + -DGZIP_VERIFY=OFF + -DTEST_NAME=GH-536-segfault-lcet10-txt + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/data/lcet10.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-536-incomplete-read + COMMAND ${CMAKE_COMMAND} + "-DCOMPRESS_TARGET=${SWITCHLEVELS_COMMAND}" + "-DCOMPRESS_ARGS=6;88933;1;195840;2;45761" + "-DDECOMPRESS_TARGET=${MINIGZIP_COMMAND}" + -DCOMPARE=OFF + -DGZIP_VERIFY=OFF + -DTEST_NAME=GH-536-incomplete-read-lcet10-txt + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/data/lcet10.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-536-zero-stored-block + COMMAND ${CMAKE_COMMAND} + "-DCOMPRESS_TARGET=${SWITCHLEVELS_COMMAND}" + "-DCOMPRESS_ARGS=6;15248;1;1050;2;25217" + "-DDECOMPRESS_TARGET=${MINIGZIP_COMMAND}" + -DCOMPARE=OFF + -DGZIP_VERIFY=OFF + -DTEST_NAME=GH-536-zero-stored-block-lcet10-txt + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/data/lcet10.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME GH-751 + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIGZIP_COMMAND}" + -DTEST_NAME=GH-751-test-txt + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-751/test.txt + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +set(TEST_COMMAND "${MINIDEFLATE_COMMAND};-c;-d;-k;-s;4") +add_test(NAME GH-1600-no-window-check + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + "-DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-1600/packobj.gz" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake +) + +set(TEST_COMMAND "${MINIDEFLATE_COMMAND};-c;-d;-k;-s;4;-r;25") +add_test(NAME GH-1600-no-window-no-check + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + "-DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/GH-1600/packobj.gz" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake +) diff --git a/neozip/test/cmake/test-tools.cmake b/neozip/test/cmake/test-tools.cmake new file mode 100644 index 0000000000..c2a683fbd9 --- /dev/null +++ b/neozip/test/cmake/test-tools.cmake @@ -0,0 +1,80 @@ +# test-tools.cmake -- Tests targeting tool coverage + +# Compress and decompress using file_compress/file_decompress, optionally also testing MMAP +add_test(NAME minigzip-file_compress + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIGZIP_COMMAND}" + -DFILEMODE=ON + -DGZIP_VERIFY=ON + -DTEST_NAME=minigzip-file_compress + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/data/paper-100k.pdf + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +add_test(NAME minideflate-file_compress + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${MINIDEFLATE_COMMAND}" + -DFILEMODE=ON + -DGZIP_VERIFY=OFF + -DTEST_NAME=minideflate-file_compress + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/data/paper-100k.pdf + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/compress-and-verify.cmake) + +# Test --help and invalid parameters for our tools +set(TEST_COMMAND ${MINIGZIP_COMMAND} "--help") +add_test(NAME minigzip-help + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) + +set(TEST_COMMAND ${MINIGZIP_COMMAND} "--invalid") +add_test(NAME minigzip-invalid + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + -DSUCCESS_EXIT=64 + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) + +set(TEST_COMMAND ${MINIDEFLATE_COMMAND} "--help") +add_test(NAME minideflate-help + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) + +set(TEST_COMMAND ${MINIDEFLATE_COMMAND} "--invalid") +add_test(NAME minideflate-invalid + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + -DSUCCESS_EXIT=64 + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) + +set(TEST_COMMAND ${SWITCHLEVELS_COMMAND} "--help") +add_test(NAME switchlevels-help + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${TEST_COMMAND}" + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-redirect.cmake) + +# Test generated crc32 tables match tables in source directory +add_test(NAME makecrct + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${MAKECRCT_COMMAND}" + -DOUTPUT=${PROJECT_BINARY_DIR}/Testing/Temporary/crc32_braid_tbl._h + -DCOMPARE=${PROJECT_SOURCE_DIR}/crc32_braid_tbl.h + -DIGNORE_LINE_ENDINGS=ON + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-compare.cmake) + +# Test generated inflate tables match tables in source directory +add_test(NAME makefixed + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${MAKEFIXED_COMMAND}" + -DOUTPUT=${PROJECT_BINARY_DIR}/Testing/Temporary/inffixed_tbl._h + -DCOMPARE=${PROJECT_SOURCE_DIR}/inffixed_tbl.h + -DIGNORE_LINE_ENDINGS=ON + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-compare.cmake) + +# Test generated tree tables match tables in source directory +add_test(NAME maketrees + COMMAND ${CMAKE_COMMAND} + "-DCOMMAND=${MAKETREES_COMMAND}" + -DOUTPUT=${PROJECT_BINARY_DIR}/Testing/Temporary/trees_tbl._h + -DCOMPARE=${PROJECT_SOURCE_DIR}/trees_tbl.h + -DIGNORE_LINE_ENDINGS=ON + -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/run-and-compare.cmake) diff --git a/neozip/test/compressible_data_p.h b/neozip/test/compressible_data_p.h new file mode 100644 index 0000000000..e345bb9c91 --- /dev/null +++ b/neozip/test/compressible_data_p.h @@ -0,0 +1,54 @@ +/* compressible_data_p.h -- generate compressible data + * Copyright (C) 2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#ifndef COMPRESSIBLE_DATA_P_H +#define COMPRESSIBLE_DATA_P_H + + +static inline size_t append_raw(uint8_t *dest, size_t size, const void *src, size_t len) { + if (len > size) len = size; + if (len == 0) return 0; + memcpy(dest, src, len); + return len; +} +static inline size_t append_str(uint8_t *dest, size_t size, const char *src) { + return append_raw(dest, size, src, strlen(src)); +} +static inline size_t append_uint8_t(uint8_t *dest, size_t size, uint8_t src) { + return append_raw(dest, size, &src, 1); +} + +// Alloc and initialize buffer with highly compressible data, +// interspersed with small amounts of random data and 3-byte matches. +static uint8_t *gen_compressible_data(size_t bufsize) { + const char teststr1[42] = "Hello hello World broken Test tast mello."; + const char teststr2[32] = "llollollollollo He Te me orld"; + const char teststr3[4] = "bro"; + int loops = 0; + + uint8_t *buffer = (uint8_t *)malloc(bufsize); + if (buffer == NULL) { + return NULL; + } + + for (size_t pos = 0; pos < bufsize; ) { + pos += append_str(buffer+pos, bufsize-pos, teststr1); + pos += append_uint8_t(buffer+pos, bufsize-pos, (uint8_t)(rand() & 0xFF)); + // Every so often, add a few other little bits to break the pattern + if (loops % 13 == 0) { + pos += append_str(buffer+pos, bufsize-pos, teststr3); + pos += append_uint8_t(buffer+pos, bufsize-pos, (uint8_t)(rand() & 0xFF)); + } + if (loops % 300 == 0) { // Only found once or twice per window + pos += append_str(buffer+pos, bufsize-pos, teststr2); + } + loops++; + } + if (bufsize > 0) { + buffer[bufsize-1] = 0; + } + return buffer; +} +#endif diff --git a/neozip/test/data/fireworks.jpg b/neozip/test/data/fireworks.jpg Binary files differnew file mode 100644 index 0000000000..078cf1755d --- /dev/null +++ b/neozip/test/data/fireworks.jpg diff --git a/neozip/test/data/lcet10.txt b/neozip/test/data/lcet10.txt new file mode 100644 index 0000000000..1dbdfc56e4 --- /dev/null +++ b/neozip/test/data/lcet10.txt @@ -0,0 +1,7519 @@ + + +The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC TEXTS + + + + + WORKSHOP ON ELECTRONIC TEXTS + + PROCEEDINGS + + + + Edited by James Daly + + + + + + + + 9-10 June 1992 + + + Library of Congress + Washington, D.C. + + + + Supported by a Grant from the David and Lucile Packard Foundation + + + *** *** *** ****** *** *** *** + + + TABLE OF CONTENTS + + +Acknowledgements + +Introduction + +Proceedings + Welcome + Prosser Gifford and Carl Fleischhauer + + Session I. Content in a New Form: Who Will Use It and What Will They Do? + James Daly (Moderator) + Avra Michelson, Overview + Susan H. Veccia, User Evaluation + Joanne Freeman, Beyond the Scholar + Discussion + + Session II. Show and Tell + Jacqueline Hess (Moderator) + Elli Mylonas, Perseus Project + Discussion + Eric M. Calaluca, Patrologia Latina Database + Carl Fleischhauer and Ricky Erway, American Memory + Discussion + Dorothy Twohig, The Papers of George Washington + Discussion + Maria L. Lebron, The Online Journal of Current Clinical Trials + Discussion + Lynne K. Personius, Cornell mathematics books + Discussion + + Session III. Distribution, Networks, and Networking: + Options for Dissemination + Robert G. Zich (Moderator) + Clifford A. Lynch + Discussion + Howard Besser + Discussion + Ronald L. Larsen + Edwin B. Brownrigg + Discussion + + Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats + William L. Hooton (Moderator) + A) Principal Methods for Image Capture of Text: + direct scanning, use of microform + Anne R. Kenney + Pamela Q.J. Andre + Judith A. Zidar + Donald J. Waters + Discussion + B) Special Problems: bound volumes, conservation, + reproducing printed halftones + George Thoma + Carl Fleischhauer + Discussion + C) Image Standards and Implications for Preservation + Jean Baronas + Patricia Battin + Discussion + D) Text Conversion: OCR vs. rekeying, standards of accuracy + and use of imperfect texts, service bureaus + Michael Lesk + Ricky Erway + Judith A. Zidar + Discussion + + Session V. Approaches to Preparing Electronic Texts + Susan Hockey (Moderator) + Stuart Weibel + Discussion + C.M. Sperberg-McQueen + Discussion + Eric M. Calaluca + Discussion + + Session VI. Copyright Issues + Marybeth Peters + + Session VII. Conclusion + Prosser Gifford (Moderator) + General discussion + +Appendix I: Program + +Appendix II: Abstracts + +Appendix III: Directory of Participants + + + *** *** *** ****** *** *** *** + + + Acknowledgements + +I would like to thank Carl Fleischhauer and Prosser Gifford for the +opportunity to learn about areas of human activity unknown to me a scant +ten months ago, and the David and Lucile Packard Foundation for +supporting that opportunity. The help given by others is acknowledged on +a separate page. + + 19 October 1992 + + + *** *** *** ****** *** *** *** + + + INTRODUCTION + +The Workshop on Electronic Texts (1) drew together representatives of +various projects and interest groups to compare ideas, beliefs, +experiences, and, in particular, methods of placing and presenting +historical textual materials in computerized form. Most attendees gained +much in insight and outlook from the event. But the assembly did not +form a new nation, or, to put it another way, the diversity of projects +and interests was too great to draw the representatives into a cohesive, +action-oriented body.(2) + +Everyone attending the Workshop shared an interest in preserving and +providing access to historical texts. But within this broad field the +attendees represented a variety of formal, informal, figurative, and +literal groups, with many individuals belonging to more than one. These +groups may be defined roughly according to the following topics or +activities: + +* Imaging +* Searchable coded texts +* National and international computer networks +* CD-ROM production and dissemination +* Methods and technology for converting older paper materials into +electronic form +* Study of the use of digital materials by scholars and others + +This summary is arranged thematically and does not follow the actual +sequence of presentations. + +NOTES: + (1) In this document, the phrase electronic text is used to mean + any computerized reproduction or version of a document, book, + article, or manuscript (including images), and not merely a machine- + readable or machine-searchable text. + + (2) The Workshop was held at the Library of Congress on 9-10 June + 1992, with funding from the David and Lucile Packard Foundation. + The document that follows represents a summary of the presentations + made at the Workshop and was compiled by James DALY. This + introduction was written by DALY and Carl FLEISCHHAUER. + + +PRESERVATION AND IMAGING + +Preservation, as that term is used by archivists,(3) was most explicitly +discussed in the context of imaging. Anne KENNEY and Lynne PERSONIUS +explained how the concept of a faithful copy and the user-friendliness of +the traditional book have guided their project at Cornell University.(4) +Although interested in computerized dissemination, participants in the +Cornell project are creating digital image sets of older books in the +public domain as a source for a fresh paper facsimile or, in a future +phase, microfilm. The books returned to the library shelves are +high-quality and useful replacements on acid-free paper that should last +a long time. To date, the Cornell project has placed little or no +emphasis on creating searchable texts; one would not be surprised to find +that the project participants view such texts as new editions, and thus +not as faithful reproductions. + +In her talk on preservation, Patricia BATTIN struck an ecumenical and +flexible note as she endorsed the creation and dissemination of a variety +of types of digital copies. Do not be too narrow in defining what counts +as a preservation element, BATTIN counseled; for the present, at least, +digital copies made with preservation in mind cannot be as narrowly +standardized as, say, microfilm copies with the same objective. Setting +standards precipitously can inhibit creativity, but delay can result in +chaos, she advised. + +In part, BATTIN's position reflected the unsettled nature of image-format +standards, and attendees could hear echoes of this unsettledness in the +comments of various speakers. For example, Jean BARONAS reviewed the +status of several formal standards moving through committees of experts; +and Clifford LYNCH encouraged the use of a new guideline for transmitting +document images on Internet. Testimony from participants in the National +Agricultural Library's (NAL) Text Digitization Program and LC's American +Memory project highlighted some of the challenges to the actual creation +or interchange of images, including difficulties in converting +preservation microfilm to digital form. Donald WATERS reported on the +progress of a master plan for a project at Yale University to convert +books on microfilm to digital image sets, Project Open Book (POB). + +The Workshop offered rather less of an imaging practicum than planned, +but "how-to" hints emerge at various points, for example, throughout +KENNEY's presentation and in the discussion of arcana such as +thresholding and dithering offered by George THOMA and FLEISCHHAUER. + +NOTES: + (3) Although there is a sense in which any reproductions of + historical materials preserve the human record, specialists in the + field have developed particular guidelines for the creation of + acceptable preservation copies. + + (4) Titles and affiliations of presenters are given at the + beginning of their respective talks and in the Directory of + Participants (Appendix III). + + +THE MACHINE-READABLE TEXT: MARKUP AND USE + +The sections of the Workshop that dealt with machine-readable text tended +to be more concerned with access and use than with preservation, at least +in the narrow technical sense. Michael SPERBERG-McQUEEN made a forceful +presentation on the Text Encoding Initiative's (TEI) implementation of +the Standard Generalized Markup Language (SGML). His ideas were echoed +by Susan HOCKEY, Elli MYLONAS, and Stuart WEIBEL. While the +presentations made by the TEI advocates contained no practicum, their +discussion focused on the value of the finished product, what the +European Community calls reusability, but what may also be termed +durability. They argued that marking up--that is, coding--a text in a +well-conceived way will permit it to be moved from one computer +environment to another, as well as to be used by various users. Two +kinds of markup were distinguished: 1) procedural markup, which +describes the features of a text (e.g., dots on a page), and 2) +descriptive markup, which describes the structure or elements of a +document (e.g., chapters, paragraphs, and front matter). + +The TEI proponents emphasized the importance of texts to scholarship. +They explained how heavily coded (and thus analyzed and annotated) texts +can underlie research, play a role in scholarly communication, and +facilitate classroom teaching. SPERBERG-McQUEEN reminded listeners that +a written or printed item (e.g., a particular edition of a book) is +merely a representation of the abstraction we call a text. To concern +ourselves with faithfully reproducing a printed instance of the text, +SPERBERG-McQUEEN argued, is to concern ourselves with the representation +of a representation ("images as simulacra for the text"). The TEI proponents' +interest in images tends to focus on corollary materials for use in teaching, +for example, photographs of the Acropolis to accompany a Greek text. + +By the end of the Workshop, SPERBERG-McQUEEN confessed to having been +converted to a limited extent to the view that electronic images +constitute a promising alternative to microfilming; indeed, an +alternative probably superior to microfilming. But he was not convinced +that electronic images constitute a serious attempt to represent text in +electronic form. HOCKEY and MYLONAS also conceded that their experience +at the Pierce Symposium the previous week at Georgetown University and +the present conference at the Library of Congress had compelled them to +reevaluate their perspective on the usefulness of text as images. +Attendees could see that the text and image advocates were in +constructive tension, so to say. + +Three nonTEI presentations described approaches to preparing +machine-readable text that are less rigorous and thus less expensive. In +the case of the Papers of George Washington, Dorothy TWOHIG explained +that the digital version will provide a not-quite-perfect rendering of +the transcribed text--some 135,000 documents, available for research +during the decades while the perfect or print version is completed. +Members of the American Memory team and the staff of NAL's Text +Digitization Program (see below) also outlined a middle ground concerning +searchable texts. In the case of American Memory, contractors produce +texts with about 99-percent accuracy that serve as "browse" or +"reference" versions of written or printed originals. End users who need +faithful copies or perfect renditions must refer to accompanying sets of +digital facsimile images or consult copies of the originals in a nearby +library or archive. American Memory staff argued that the high cost of +producing 100-percent accurate copies would prevent LC from offering +access to large parts of its collections. + + +THE MACHINE-READABLE TEXT: METHODS OF CONVERSION + +Although the Workshop did not include a systematic examination of the +methods for converting texts from paper (or from facsimile images) into +machine-readable form, nevertheless, various speakers touched upon this +matter. For example, WEIBEL reported that OCLC has experimented with a +merging of multiple optical character recognition systems that will +reduce errors from an unacceptable rate of 5 characters out of every +l,000 to an unacceptable rate of 2 characters out of every l,000. + +Pamela ANDRE presented an overview of NAL's Text Digitization Program and +Judith ZIDAR discussed the technical details. ZIDAR explained how NAL +purchased hardware and software capable of performing optical character +recognition (OCR) and text conversion and used its own staff to convert +texts. The process, ZIDAR said, required extensive editing and project +staff found themselves considering alternatives, including rekeying +and/or creating abstracts or summaries of texts. NAL reckoned costs at +$7 per page. By way of contrast, Ricky ERWAY explained that American +Memory had decided from the start to contract out conversion to external +service bureaus. The criteria used to select these contractors were cost +and quality of results, as opposed to methods of conversion. ERWAY noted +that historical documents or books often do not lend themselves to OCR. +Bound materials represent a special problem. In her experience, quality +control--inspecting incoming materials, counting errors in samples--posed +the most time-consuming aspect of contracting out conversion. ERWAY +reckoned American Memory's costs at $4 per page, but cautioned that fewer +cost-elements had been included than in NAL's figure. + + +OPTIONS FOR DISSEMINATION + +The topic of dissemination proper emerged at various points during the +Workshop. At the session devoted to national and international computer +networks, LYNCH, Howard BESSER, Ronald LARSEN, and Edwin BROWNRIGG +highlighted the virtues of Internet today and of the network that will +evolve from Internet. Listeners could discern in these narratives a +vision of an information democracy in which millions of citizens freely +find and use what they need. LYNCH noted that a lack of standards +inhibits disseminating multimedia on the network, a topic also discussed +by BESSER. LARSEN addressed the issues of network scalability and +modularity and commented upon the difficulty of anticipating the effects +of growth in orders of magnitude. BROWNRIGG talked about the ability of +packet radio to provide certain links in a network without the need for +wiring. However, the presenters also called attention to the +shortcomings and incongruities of present-day computer networks. For +example: 1) Network use is growing dramatically, but much network +traffic consists of personal communication (E-mail). 2) Large bodies of +information are available, but a user's ability to search across their +entirety is limited. 3) There are significant resources for science and +technology, but few network sources provide content in the humanities. +4) Machine-readable texts are commonplace, but the capability of the +system to deal with images (let alone other media formats) lags behind. +A glimpse of a multimedia future for networks, however, was provided by +Maria LEBRON in her overview of the Online Journal of Current Clinical +Trials (OJCCT), and the process of scholarly publishing on-line. + +The contrasting form of the CD-ROM disk was never systematically +analyzed, but attendees could glean an impression from several of the +show-and-tell presentations. The Perseus and American Memory examples +demonstrated recently published disks, while the descriptions of the +IBYCUS version of the Papers of George Washington and Chadwyck-Healey's +Patrologia Latina Database (PLD) told of disks to come. According to +Eric CALALUCA, PLD's principal focus has been on converting Jacques-Paul +Migne's definitive collection of Latin texts to machine-readable form. +Although everyone could share the network advocates' enthusiasm for an +on-line future, the possibility of rolling up one's sleeves for a session +with a CD-ROM containing both textual materials and a powerful retrieval +engine made the disk seem an appealing vessel indeed. The overall +discussion suggested that the transition from CD-ROM to on-line networked +access may prove far slower and more difficult than has been anticipated. + + +WHO ARE THE USERS AND WHAT DO THEY DO? + +Although concerned with the technicalities of production, the Workshop +never lost sight of the purposes and uses of electronic versions of +textual materials. As noted above, those interested in imaging discussed +the problematical matter of digital preservation, while the TEI proponents +described how machine-readable texts can be used in research. This latter +topic received thorough treatment in the paper read by Avra MICHELSON. +She placed the phenomenon of electronic texts within the context of +broader trends in information technology and scholarly communication. + +Among other things, MICHELSON described on-line conferences that +represent a vigorous and important intellectual forum for certain +disciplines. Internet now carries more than 700 conferences, with about +80 percent of these devoted to topics in the social sciences and the +humanities. Other scholars use on-line networks for "distance learning." +Meanwhile, there has been a tremendous growth in end-user computing; +professors today are less likely than their predecessors to ask the +campus computer center to process their data. Electronic texts are one +key to these sophisticated applications, MICHELSON reported, and more and +more scholars in the humanities now work in an on-line environment. +Toward the end of the Workshop, Michael LESK presented a corollary to +MICHELSON's talk, reporting the results of an experiment that compared +the work of one group of chemistry students using traditional printed +texts and two groups using electronic sources. The experiment +demonstrated that in the event one does not know what to read, one needs +the electronic systems; the electronic systems hold no advantage at the +moment if one knows what to read, but neither do they impose a penalty. + +DALY provided an anecdotal account of the revolutionizing impact of the +new technology on his previous methods of research in the field of classics. +His account, by extrapolation, served to illustrate in part the arguments +made by MICHELSON concerning the positive effects of the sudden and radical +transformation being wrought in the ways scholars work. + +Susan VECCIA and Joanne FREEMAN delineated the use of electronic +materials outside the university. The most interesting aspect of their +use, FREEMAN said, could be seen as a paradox: teachers in elementary +and secondary schools requested access to primary source materials but, +at the same time, found that "primariness" itself made these materials +difficult for their students to use. + + +OTHER TOPICS + +Marybeth PETERS reviewed copyright law in the United States and offered +advice during a lively discussion of this subject. But uncertainty +remains concerning the price of copyright in a digital medium, because a +solution remains to be worked out concerning management and synthesis of +copyrighted and out-of-copyright pieces of a database. + +As moderator of the final session of the Workshop, Prosser GIFFORD directed +discussion to future courses of action and the potential role of LC in +advancing them. Among the recommendations that emerged were the following: + + * Workshop participants should 1) begin to think about working + with image material, but structure and digitize it in such a + way that at a later stage it can be interpreted into text, and + 2) find a common way to build text and images together so that + they can be used jointly at some stage in the future, with + appropriate network support, because that is how users will want + to access these materials. The Library might encourage attempts + to bring together people who are working on texts and images. + + * A network version of American Memory should be developed or + consideration should be given to making the data in it + available to people interested in doing network multimedia. + Given the current dearth of digital data that is appealing and + unencumbered by extremely complex rights problems, developing a + network version of American Memory could do much to help make + network multimedia a reality. + + * Concerning the thorny issue of electronic deposit, LC should + initiate a catalytic process in terms of distributed + responsibility, that is, bring together the distributed + organizations and set up a study group to look at all the + issues related to electronic deposit and see where we as a + nation should move. For example, LC might attempt to persuade + one major library in each state to deal with its state + equivalent publisher, which might produce a cooperative project + that would be equitably distributed around the country, and one + in which LC would be dealing with a minimal number of publishers + and minimal copyright problems. LC must also deal with the + concept of on-line publishing, determining, among other things, + how serials such as OJCCT might be deposited for copyright. + + * Since a number of projects are planning to carry out + preservation by creating digital images that will end up in + on-line or near-line storage at some institution, LC might play + a helpful role, at least in the near term, by accelerating how + to catalog that information into the Research Library Information + Network (RLIN) and then into OCLC, so that it would be accessible. + This would reduce the possibility of multiple institutions digitizing + the same work. + + +CONCLUSION + +The Workshop was valuable because it brought together partisans from +various groups and provided an occasion to compare goals and methods. +The more committed partisans frequently communicate with others in their +groups, but less often across group boundaries. The Workshop was also +valuable to attendees--including those involved with American Memory--who +came less committed to particular approaches or concepts. These +attendees learned a great deal, and plan to select and employ elements of +imaging, text-coding, and networked distribution that suit their +respective projects and purposes. + +Still, reality rears its ugly head: no breakthrough has been achieved. +On the imaging side, one confronts a proliferation of competing +data-interchange standards and a lack of consensus on the role of digital +facsimiles in preservation. In the realm of machine-readable texts, one +encounters a reasonably mature standard but methodological difficulties +and high costs. These latter problems, of course, represent a special +impediment to the desire, as it is sometimes expressed in the popular +press, "to put the [contents of the] Library of Congress on line." In +the words of one participant, there was "no solution to the economic +problems--the projects that are out there are surviving, but it is going +to be a lot of work to transform the information industry, and so far the +investment to do that is not forthcoming" (LESK, per litteras). + + + *** *** *** ****** *** *** *** + + + PROCEEDINGS + + +WELCOME + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +GIFFORD * Origin of Workshop in current Librarian's desire to make LC's +collections more widely available * Desiderata arising from the prospect +of greater interconnectedness * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +After welcoming participants on behalf of the Library of Congress, +American Memory (AM), and the National Demonstration Lab, Prosser +GIFFORD, director for scholarly programs, Library of Congress, located +the origin of the Workshop on Electronic Texts in a conversation he had +had considerably more than a year ago with Carl FLEISCHHAUER concerning +some of the issues faced by AM. On the assumption that numerous other +people were asking the same questions, the decision was made to bring +together as many of these people as possible to ask the same questions +together. In a deeper sense, GIFFORD said, the origin of the Workshop +lay in the desire of the current Librarian of Congress, James H. +Billington, to make the collections of the Library, especially those +offering unique or unusual testimony on aspects of the American +experience, available to a much wider circle of users than those few +people who can come to Washington to use them. This meant that the +emphasis of AM, from the outset, has been on archival collections of the +basic material, and on making these collections themselves available, +rather than selected or heavily edited products. + +From AM's emphasis followed the questions with which the Workshop began: +who will use these materials, and in what form will they wish to use +them. But an even larger issue deserving mention, in GIFFORD's view, was +the phenomenal growth in Internet connectivity. He expressed the hope +that the prospect of greater interconnectedness than ever before would +lead to: 1) much more cooperative and mutually supportive endeavors; 2) +development of systems of shared and distributed responsibilities to +avoid duplication and to ensure accuracy and preservation of unique +materials; and 3) agreement on the necessary standards and development of +the appropriate directories and indices to make navigation +straightforward among the varied resources that are, and increasingly +will be, available. In this connection, GIFFORD requested that +participants reflect from the outset upon the sorts of outcomes they +thought the Workshop might have. Did those present constitute a group +with sufficient common interests to propose a next step or next steps, +and if so, what might those be? They would return to these questions the +following afternoon. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER * Core of Workshop concerns preparation and production of +materials * Special challenge in conversion of textual materials * +Quality versus quantity * Do the several groups represented share common +interests? * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress, +emphasized that he would attempt to represent the people who perform some +of the work of converting or preparing materials and that the core of +the Workshop had to do with preparation and production. FLEISCHHAUER +then drew a distinction between the long term, when many things would be +available and connected in the ways that GIFFORD described, and the short +term, in which AM not only has wrestled with the issue of what is the +best course to pursue but also has faced a variety of technical +challenges. + +FLEISCHHAUER remarked AM's endeavors to deal with a wide range of library +formats, such as motion picture collections, sound-recording collections, +and pictorial collections of various sorts, especially collections of +photographs. In the course of these efforts, AM kept coming back to +textual materials--manuscripts or rare printed matter, bound materials, +etc. Text posed the greatest conversion challenge of all. Thus, the +genesis of the Workshop, which reflects the problems faced by AM. These +problems include physical problems. For example, those in the library +and archive business deal with collections made up of fragile and rare +manuscript items, bound materials, especially the notoriously brittle +bound materials of the late nineteenth century. These are precious +cultural artifacts, however, as well as interesting sources of +information, and LC desires to retain and conserve them. AM needs to +handle things without damaging them. Guillotining a book to run it +through a sheet feeder must be avoided at all costs. + +Beyond physical problems, issues pertaining to quality arose. For +example, the desire to provide users with a searchable text is affected +by the question of acceptable level of accuracy. One hundred percent +accuracy is tremendously expensive. On the other hand, the output of +optical character recognition (OCR) can be tremendously inaccurate. +Although AM has attempted to find a middle ground, uncertainty persists +as to whether or not it has discovered the right solution. + +Questions of quality arose concerning images as well. FLEISCHHAUER +contrasted the extremely high level of quality of the digital images in +the Cornell Xerox Project with AM's efforts to provide a browse-quality +or access-quality image, as opposed to an archival or preservation image. +FLEISCHHAUER therefore welcomed the opportunity to compare notes. + +FLEISCHHAUER observed in passing that conversations he had had about +networks have begun to signal that for various forms of media a +determination may be made that there is a browse-quality item, or a +distribution-and-access-quality item that may coexist in some systems +with a higher quality archival item that would be inconvenient to send +through the network because of its size. FLEISCHHAUER referred, of +course, to images more than to searchable text. + +As AM considered those questions, several conceptual issues arose: ought +AM occasionally to reproduce materials entirely through an image set, at +other times, entirely through a text set, and in some cases, a mix? +There probably would be times when the historical authenticity of an +artifact would require that its image be used. An image might be +desirable as a recourse for users if one could not provide 100-percent +accurate text. Again, AM wondered, as a practical matter, if a +distinction could be drawn between rare printed matter that might exist +in multiple collections--that is, in ten or fifteen libraries. In such +cases, the need for perfect reproduction would be less than for unique +items. Implicit in his remarks, FLEISCHHAUER conceded, was the admission +that AM has been tilting strongly towards quantity and drawing back a +little from perfect quality. That is, it seemed to AM that society would +be better served if more things were distributed by LC--even if they were +not quite perfect--than if fewer things, perfectly represented, were +distributed. This was stated as a proposition to be tested, with +responses to be gathered from users. + +In thinking about issues related to reproduction of materials and seeing +other people engaged in parallel activities, AM deemed it useful to +convene a conference. Hence, the Workshop. FLEISCHHAUER thereupon +surveyed the several groups represented: 1) the world of images (image +users and image makers); 2) the world of text and scholarship and, within +this group, those concerned with language--FLEISCHHAUER confessed to finding +delightful irony in the fact that some of the most advanced thinkers on +computerized texts are those dealing with ancient Greek and Roman materials; +3) the network world; and 4) the general world of library science, which +includes people interested in preservation and cataloging. + +FLEISCHHAUER concluded his remarks with special thanks to the David and +Lucile Packard Foundation for its support of the meeting, the American +Memory group, the Office for Scholarly Programs, the National +Demonstration Lab, and the Office of Special Events. He expressed the +hope that David Woodley Packard might be able to attend, noting that +Packard's work and the work of the foundation had sponsored a number of +projects in the text area. + + ****** + +SESSION I. CONTENT IN A NEW FORM: WHO WILL USE IT AND WHAT WILL THEY DO? + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DALY * Acknowledgements * A new Latin authors disk * Effects of the new +technology on previous methods of research * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Serving as moderator, James DALY acknowledged the generosity of all the +presenters for giving of their time, counsel, and patience in planning +the Workshop, as well as of members of the American Memory project and +other Library of Congress staff, and the David and Lucile Packard +Foundation and its executive director, Colburn S. Wilbur. + +DALY then recounted his visit in March to the Center for Electronic Texts +in the Humanities (CETH) and the Department of Classics at Rutgers +University, where an old friend, Lowell Edmunds, introduced him to the +department's IBYCUS scholarly personal computer, and, in particular, the +new Latin CD-ROM, containing, among other things, almost all classical +Latin literary texts through A.D. 200. Packard Humanities Institute +(PHI), Los Altos, California, released this disk late in 1991, with a +nominal triennial licensing fee. + +Playing with the disk for an hour or so at Rutgers brought home to DALY +at once the revolutionizing impact of the new technology on his previous +methods of research. Had this disk been available two or three years +earlier, DALY contended, when he was engaged in preparing a commentary on +Book 10 of Virgil's Aeneid for Cambridge University Press, he would not +have required a forty-eight-square-foot table on which to spread the +numerous, most frequently consulted items, including some ten or twelve +concordances to key Latin authors, an almost equal number of lexica to +authors who lacked concordances, and where either lexica or concordances +were lacking, numerous editions of authors antedating and postdating Virgil. + +Nor, when checking each of the average six to seven words contained in +the Virgilian hexameter for its usage elsewhere in Virgil's works or +other Latin authors, would DALY have had to maintain the laborious +mechanical process of flipping through these concordances, lexica, and +editions each time. Nor would he have had to frequent as often the +Milton S. Eisenhower Library at the Johns Hopkins University to consult +the Thesaurus Linguae Latinae. Instead of devoting countless hours, or +the bulk of his research time, to gathering data concerning Virgil's use +of words, DALY--now freed by PHI's Latin authors disk from the +tyrannical, yet in some ways paradoxically happy scholarly drudgery-- +would have been able to devote that same bulk of time to analyzing and +interpreting Virgilian verbal usage. + +Citing Theodore Brunner, Gregory Crane, Elli MYLONAS, and Avra MICHELSON, +DALY argued that this reversal in his style of work, made possible by the +new technology, would perhaps have resulted in better, more productive +research. Indeed, even in the course of his browsing the Latin authors +disk at Rutgers, its powerful search, retrieval, and highlighting +capabilities suggested to him several new avenues of research into +Virgil's use of sound effects. This anecdotal account, DALY maintained, +may serve to illustrate in part the sudden and radical transformation +being wrought in the ways scholars work. + + ****** + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +MICHELSON * Elements related to scholarship and technology * Electronic +texts within the context of broader trends within information technology +and scholarly communication * Evaluation of the prospects for the use of +electronic texts * Relationship of electronic texts to processes of +scholarly communication in humanities research * New exchange formats +created by scholars * Projects initiated to increase scholarly access to +converted text * Trend toward making electronic resources available +through research and education networks * Changes taking place in +scholarly communication among humanities scholars * Network-mediated +scholarship transforming traditional scholarly practices * Key +information technology trends affecting the conduct of scholarly +communication over the next decade * The trend toward end-user computing +* The trend toward greater connectivity * Effects of these trends * Key +transformations taking place * Summary of principal arguments * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Avra MICHELSON, Archival Research and Evaluation Staff, National Archives +and Records Administration (NARA), argued that establishing who will use +electronic texts and what they will use them for involves a consideration +of both information technology and scholarship trends. This +consideration includes several elements related to scholarship and +technology: 1) the key trends in information technology that are most +relevant to scholarship; 2) the key trends in the use of currently +available technology by scholars in the nonscientific community; and 3) +the relationship between these two very distinct but interrelated trends. +The investment in understanding this relationship being made by +information providers, technologists, and public policy developers, as +well as by scholars themselves, seems to be pervasive and growing, +MICHELSON contended. She drew on collaborative work with Jeff Rothenberg +on the scholarly use of technology. + +MICHELSON sought to place the phenomenon of electronic texts within the +context of broader trends within information technology and scholarly +communication. She argued that electronic texts are of most use to +researchers to the extent that the researchers' working context (i.e., +their relevant bibliographic sources, collegial feedback, analytic tools, +notes, drafts, etc.), along with their field's primary and secondary +sources, also is accessible in electronic form and can be integrated in +ways that are unique to the on-line environment. + +Evaluation of the prospects for the use of electronic texts includes two +elements: 1) an examination of the ways in which researchers currently +are using electronic texts along with other electronic resources, and 2) +an analysis of key information technology trends that are affecting the +long-term conduct of scholarly communication. MICHELSON limited her +discussion of the use of electronic texts to the practices of humanists +and noted that the scientific community was outside the panel's overview. + +MICHELSON examined the nature of the current relationship of electronic +texts in particular, and electronic resources in general, to what she +maintained were, essentially, five processes of scholarly communication +in humanities research. Researchers 1) identify sources, 2) communicate +with their colleagues, 3) interpret and analyze data, 4) disseminate +their research findings, and 5) prepare curricula to instruct the next +generation of scholars and students. This examination would produce a +clearer understanding of the synergy among these five processes that +fuels the tendency of the use of electronic resources for one process to +stimulate its use for other processes of scholarly communication. + +For the first process of scholarly communication, the identification of +sources, MICHELSON remarked the opportunity scholars now enjoy to +supplement traditional word-of-mouth searches for sources among their +colleagues with new forms of electronic searching. So, for example, +instead of having to visit the library, researchers are able to explore +descriptions of holdings in their offices. Furthermore, if their own +institutions' holdings prove insufficient, scholars can access more than +200 major American library catalogues over Internet, including the +universities of California, Michigan, Pennsylvania, and Wisconsin. +Direct access to the bibliographic databases offers intellectual +empowerment to scholars by presenting a comprehensive means of browsing +through libraries from their homes and offices at their convenience. + +The second process of communication involves communication among +scholars. Beyond the most common methods of communication, scholars are +using E-mail and a variety of new electronic communications formats +derived from it for further academic interchange. E-mail exchanges are +growing at an astonishing rate, reportedly 15 percent a month. They +currently constitute approximately half the traffic on research and +education networks. Moreover, the global spread of E-mail has been so +rapid that it is now possible for American scholars to use it to +communicate with colleagues in close to 140 other countries. + +Other new exchange formats created by scholars and operating on Internet +include more than 700 conferences, with about 80 percent of these devoted +to topics in the social sciences and humanities. The rate of growth of +these scholarly electronic conferences also is astonishing. From l990 to +l991, 200 new conferences were identified on Internet. From October 1991 +to June 1992, an additional 150 conferences in the social sciences and +humanities were added to this directory of listings. Scholars have +established conferences in virtually every field, within every different +discipline. For example, there are currently close to 600 active social +science and humanities conferences on topics such as art and +architecture, ethnomusicology, folklore, Japanese culture, medical +education, and gifted and talented education. The appeal to scholars of +communicating through these conferences is that, unlike any other medium, +electronic conferences today provide a forum for global communication +with peers at the front end of the research process. + +Interpretation and analysis of sources constitutes the third process of +scholarly communication that MICHELSON discussed in terms of texts and +textual resources. The methods used to analyze sources fall somewhere on +a continuum from quantitative analysis to qualitative analysis. +Typically, evidence is culled and evaluated using methods drawn from both +ends of this continuum. At one end, quantitative analysis involves the +use of mathematical processes such as a count of frequencies and +distributions of occurrences or, on a higher level, regression analysis. +At the other end of the continuum, qualitative analysis typically +involves nonmathematical processes oriented toward language +interpretation or the building of theory. Aspects of this work involve +the processing--either manual or computational--of large and sometimes +massive amounts of textual sources, although the use of nontextual +sources as evidence, such as photographs, sound recordings, film footage, +and artifacts, is significant as well. + +Scholars have discovered that many of the methods of interpretation and +analysis that are related to both quantitative and qualitative methods +are processes that can be performed by computers. For example, computers +can count. They can count brush strokes used in a Rembrandt painting or +perform regression analysis for understanding cause and effect. By means +of advanced technologies, computers can recognize patterns, analyze text, +and model concepts. Furthermore, computers can complete these processes +faster with more sources and with greater precision than scholars who +must rely on manual interpretation of data. But if scholars are to use +computers for these processes, source materials must be in a form +amenable to computer-assisted analysis. For this reason many scholars, +once they have identified the sources that are key to their research, are +converting them to machine-readable form. Thus, a representative example +of the numerous textual conversion projects organized by scholars around +the world in recent years to support computational text analysis is the +TLG, the Thesaurus Linguae Graecae. This project is devoted to +converting the extant ancient texts of classical Greece. (Editor's note: +according to the TLG Newsletter of May l992, TLG was in use in thirty-two +different countries. This figure updates MICHELSON's previous count by one.) + +The scholars performing these conversions have been asked to recognize +that the electronic sources they are converting for one use possess value +for other research purposes as well. As a result, during the past few +years, humanities scholars have initiated a number of projects to +increase scholarly access to converted text. So, for example, the Text +Encoding Initiative (TEI), about which more is said later in the program, +was established as an effort by scholars to determine standard elements +and methods for encoding machine-readable text for electronic exchange. +In a second effort to facilitate the sharing of converted text, scholars +have created a new institution, the Center for Electronic Texts in the +Humanities (CETH). The center estimates that there are 8,000 series of +source texts in the humanities that have been converted to +machine-readable form worldwide. CETH is undertaking an international +search for converted text in the humanities, compiling it into an +electronic library, and preparing bibliographic descriptions of the +sources for the Research Libraries Information Network's (RLIN) +machine-readable data file. The library profession has begun to initiate +large conversion projects as well, such as American Memory. + +While scholars have been making converted text available to one another, +typically on disk or on CD-ROM, the clear trend is toward making these +resources available through research and education networks. Thus, the +American and French Research on the Treasury of the French Language +(ARTFL) and the Dante Project are already available on Internet. +MICHELSON summarized this section on interpretation and analysis by +noting that: 1) increasing numbers of humanities scholars in the library +community are recognizing the importance to the advancement of +scholarship of retrospective conversion of source materials in the arts +and humanities; and 2) there is a growing realization that making the +sources available on research and education networks maximizes their +usefulness for the analysis performed by humanities scholars. + +The fourth process of scholarly communication is dissemination of +research findings, that is, publication. Scholars are using existing +research and education networks to engineer a new type of publication: +scholarly-controlled journals that are electronically produced and +disseminated. Although such journals are still emerging as a +communication format, their number has grown, from approximately twelve +to thirty-six during the past year (July 1991 to June 1992). Most of +these electronic scholarly journals are devoted to topics in the +humanities. As with network conferences, scholarly enthusiasm for these +electronic journals stems from the medium's unique ability to advance +scholarship in a way that no other medium can do by supporting global +feedback and interchange, practically in real time, early in the research +process. Beyond scholarly journals, MICHELSON remarked the delivery of +commercial full-text products, such as articles in professional journals, +newsletters, magazines, wire services, and reference sources. These are +being delivered via on-line local library catalogues, especially through +CD-ROMs. Furthermore, according to MICHELSON, there is general optimism +that the copyright and fees issues impeding the delivery of full text on +existing research and education networks soon will be resolved. + +The final process of scholarly communication is curriculum development +and instruction, and this involves the use of computer information +technologies in two areas. The first is the development of +computer-oriented instructional tools, which includes simulations, +multimedia applications, and computer tools that are used to assist in +the analysis of sources in the classroom, etc. The Perseus Project, a +database that provides a multimedia curriculum on classical Greek +civilization, is a good example of the way in which entire curricula are +being recast using information technologies. It is anticipated that the +current difficulty in exchanging electronically computer-based +instructional software, which in turn makes it difficult for one scholar +to build upon the work of others, will be resolved before too long. +Stand-alone curricular applications that involve electronic text will be +shareable through networks, reinforcing their significance as intellectual +products as well as instructional tools. + +The second aspect of electronic learning involves the use of research and +education networks for distance education programs. Such programs +interactively link teachers with students in geographically scattered +locations and rely on the availability of electronic instructional +resources. Distance education programs are gaining wide appeal among +state departments of education because of their demonstrated capacity to +bring advanced specialized course work and an array of experts to many +classrooms. A recent report found that at least 32 states operated at +least one statewide network for education in 1991, with networks under +development in many of the remaining states. + +MICHELSON summarized this section by noting two striking changes taking +place in scholarly communication among humanities scholars. First is the +extent to which electronic text in particular, and electronic resources +in general, are being infused into each of the five processes described +above. As mentioned earlier, there is a certain synergy at work here. +The use of electronic resources for one process tends to stimulate its +use for other processes, because the chief course of movement is toward a +comprehensive on-line working context for humanities scholars that +includes on-line availability of key bibliographies, scholarly feedback, +sources, analytical tools, and publications. MICHELSON noted further +that the movement toward a comprehensive on-line working context for +humanities scholars is not new. In fact, it has been underway for more +than forty years in the humanities, since Father Roberto Busa began +developing an electronic concordance of the works of Saint Thomas Aquinas +in 1949. What we are witnessing today, MICHELSON contended, is not the +beginning of this on-line transition but, for at least some humanities +scholars, the turning point in the transition from a print to an +electronic working context. Coinciding with the on-line transition, the +second striking change is the extent to which research and education +networks are becoming the new medium of scholarly communication. The +existing Internet and the pending National Education and Research Network +(NREN) represent the new meeting ground where scholars are going for +bibliographic information, scholarly dialogue and feedback, the most +current publications in their field, and high-level educational +offerings. Traditional scholarly practices are undergoing tremendous +transformations as a result of the emergence and growing prominence of +what is called network-mediated scholarship. + +MICHELSON next turned to the second element of the framework she proposed +at the outset of her talk for evaluating the prospects for electronic +text, namely the key information technology trends affecting the conduct +of scholarly communication over the next decade: 1) end-user computing +and 2) connectivity. + +End-user computing means that the person touching the keyboard, or +performing computations, is the same as the person who initiates or +consumes the computation. The emergence of personal computers, along +with a host of other forces, such as ubiquitous computing, advances in +interface design, and the on-line transition, is prompting the consumers +of computation to do their own computing, and is thus rendering obsolete +the traditional distinction between end users and ultimate users. + +The trend toward end-user computing is significant to consideration of +the prospects for electronic texts because it means that researchers are +becoming more adept at doing their own computations and, thus, more +competent in the use of electronic media. By avoiding programmer +intermediaries, computation is becoming central to the researcher's +thought process. This direct involvement in computing is changing the +researcher's perspective on the nature of research itself, that is, the +kinds of questions that can be posed, the analytical methodologies that +can be used, the types and amount of sources that are appropriate for +analyses, and the form in which findings are presented. The trend toward +end-user computing means that, increasingly, electronic media and +computation are being infused into all processes of humanities +scholarship, inspiring remarkable transformations in scholarly +communication. + +The trend toward greater connectivity suggests that researchers are using +computation increasingly in network environments. Connectivity is +important to scholarship because it erases the distance that separates +students from teachers and scholars from their colleagues, while allowing +users to access remote databases, share information in many different +media, connect to their working context wherever they are, and +collaborate in all phases of research. + +The combination of the trend toward end-user computing and the trend +toward connectivity suggests that the scholarly use of electronic +resources, already evident among some researchers, will soon become an +established feature of scholarship. The effects of these trends, along +with ongoing changes in scholarly practices, point to a future in which +humanities researchers will use computation and electronic communication +to help them formulate ideas, access sources, perform research, +collaborate with colleagues, seek peer review, publish and disseminate +results, and engage in many other professional and educational activities. + +In summary, MICHELSON emphasized four points: 1) A portion of humanities +scholars already consider electronic texts the preferred format for +analysis and dissemination. 2) Scholars are using these electronic +texts, in conjunction with other electronic resources, in all the +processes of scholarly communication. 3) The humanities scholars' +working context is in the process of changing from print technology to +electronic technology, in many ways mirroring transformations that have +occurred or are occurring within the scientific community. 4) These +changes are occurring in conjunction with the development of a new +communication medium: research and education networks that are +characterized by their capacity to advance scholarship in a wholly unique +way. + +MICHELSON also reiterated her three principal arguments: l) Electronic +texts are best understood in terms of the relationship to other +electronic resources and the growing prominence of network-mediated +scholarship. 2) The prospects for electronic texts lie in their capacity +to be integrated into the on-line network of electronic resources that +comprise the new working context for scholars. 3) Retrospective conversion +of portions of the scholarly record should be a key strategy as information +providers respond to changes in scholarly communication practices. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +VECCIA * AM's evaluation project and public users of electronic resources +* AM and its design * Site selection and evaluating the Macintosh +implementation of AM * Characteristics of the six public libraries +selected * Characteristics of AM's users in these libraries * Principal +ways AM is being used * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Susan VECCIA, team leader, and Joanne FREEMAN, associate coordinator, +American Memory, Library of Congress, gave a joint presentation. First, +by way of introduction, VECCIA explained her and FREEMAN's roles in +American Memory (AM). Serving principally as an observer, VECCIA has +assisted with the evaluation project of AM, placing AM collections in a +variety of different sites around the country and helping to organize and +implement that project. FREEMAN has been an associate coordinator of AM +and has been involved principally with the interpretative materials, +preparing some of the electronic exhibits and printed historical +information that accompanies AM and that is requested by users. VECCIA +and FREEMAN shared anecdotal observations concerning AM with public users +of electronic resources. Notwithstanding a fairly structured evaluation +in progress, both VECCIA and FREEMAN chose not to report on specifics in +terms of numbers, etc., because they felt it was too early in the +evaluation project to do so. + +AM is an electronic archive of primary source materials from the Library +of Congress, selected collections representing a variety of formats-- +photographs, graphic arts, recorded sound, motion pictures, broadsides, +and soon, pamphlets and books. In terms of the design of this system, +the interpretative exhibits have been kept separate from the primary +resources, with good reason. Accompanying this collection are printed +documentation and user guides, as well as guides that FREEMAN prepared for +teachers so that they may begin using the content of the system at once. + +VECCIA described the evaluation project before talking about the public +users of AM, limiting her remarks to public libraries, because FREEMAN +would talk more specifically about schools from kindergarten to twelfth +grade (K-12). Having started in spring 1991, the evaluation currently +involves testing of the Macintosh implementation of AM. Since the +primary goal of this evaluation is to determine the most appropriate +audience or audiences for AM, very different sites were selected. This +makes evaluation difficult because of the varying degrees of technology +literacy among the sites. AM is situated in forty-four locations, of +which six are public libraries and sixteen are schools. Represented +among the schools are elementary, junior high, and high schools. +District offices also are involved in the evaluation, which will +conclude in summer 1993. + +VECCIA focused the remainder of her talk on the six public libraries, one +of which doubles as a state library. They represent a range of +geographic areas and a range of demographic characteristics. For +example, three are located in urban settings, two in rural settings, and +one in a suburban setting. A range of technical expertise is to be found +among these facilities as well. For example, one is an "Apple library of +the future," while two others are rural one-room libraries--in one, AM +sits at the front desk next to a tractor manual. + +All public libraries have been extremely enthusiastic, supportive, and +appreciative of the work that AM has been doing. VECCIA characterized +various users: Most users in public libraries describe themselves as +general readers; of the students who use AM in the public libraries, +those in fourth grade and above seem most interested. Public libraries +in rural sites tend to attract retired people, who have been highly +receptive to AM. Users tend to fall into two additional categories: +people interested in the content and historical connotations of these +primary resources, and those fascinated by the technology. The format +receiving the most comments has been motion pictures. The adult users in +public libraries are more comfortable with IBM computers, whereas young +people seem comfortable with either IBM or Macintosh, although most of +them seem to come from a Macintosh background. This same tendency is +found in the schools. + +What kinds of things do users do with AM? In a public library there are +two main goals or ways that AM is being used: as an individual learning +tool, and as a leisure activity. Adult learning was one area that VECCIA +would highlight as a possible application for a tool such as AM. She +described a patron of a rural public library who comes in every day on +his lunch hour and literally reads AM, methodically going through the +collection image by image. At the end of his hour he makes an electronic +bookmark, puts it in his pocket, and returns to work. The next day he +comes in and resumes where he left off. Interestingly, this man had +never been in the library before he used AM. In another small, rural +library, the coordinator reports that AM is a popular activity for some +of the older, retired people in the community, who ordinarily would not +use "those things,"--computers. Another example of adult learning in +public libraries is book groups, one of which, in particular, is using AM +as part of its reading on industrialization, integration, and urbanization +in the early 1900s. + +One library reports that a family is using AM to help educate their +children. In another instance, individuals from a local museum came in +to use AM to prepare an exhibit on toys of the past. These two examples +emphasize the mission of the public library as a cultural institution, +reaching out to people who do not have the same resources available to +those who live in a metropolitan area or have access to a major library. +One rural library reports that junior high school students in large +numbers came in one afternoon to use AM for entertainment. A number of +public libraries reported great interest among postcard collectors in the +Detroit collection, which was essentially a collection of images used on +postcards around the turn of the century. Train buffs are similarly +interested because that was a time of great interest in railroading. +People, it was found, relate to things that they know of firsthand. For +example, in both rural public libraries where AM was made available, +observers reported that the older people with personal remembrances of +the turn of the century were gravitating to the Detroit collection. +These examples served to underscore MICHELSON's observation re the +integration of electronic tools and ideas--that people learn best when +the material relates to something they know. + +VECCIA made the final point that in many cases AM serves as a +public-relations tool for the public libraries that are testing it. In +one case, AM is being used as a vehicle to secure additional funding for +the library. In another case, AM has served as an inspiration to the +staff of a major local public library in the South to think about ways to +make its own collection of photographs more accessible to the public. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FREEMAN * AM and archival electronic resources in a school environment * +Questions concerning context * Questions concerning the electronic format +itself * Computer anxiety * Access and availability of the system * +Hardware * Strengths gained through the use of archival resources in +schools * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Reiterating an observation made by VECCIA, that AM is an archival +resource made up of primary materials with very little interpretation, +FREEMAN stated that the project has attempted to bridge the gap between +these bare primary materials and a school environment, and in that cause +has created guided introductions to AM collections. Loud demand from the +educational community, chiefly from teachers working with the upper +grades of elementary school through high school, greeted the announcement +that AM would be tested around the country. + +FREEMAN reported not only on what was learned about AM in a school +environment, but also on several universal questions that were raised +concerning archival electronic resources in schools. She discussed +several strengths of this type of material in a school environment as +opposed to a highly structured resource that offers a limited number of +paths to follow. + +FREEMAN first raised several questions about using AM in a school +environment. There is often some difficulty in developing a sense of +what the system contains. Many students sit down at a computer resource +and assume that, because AM comes from the Library of Congress, all of +American history is now at their fingertips. As a result of that sort of +mistaken judgment, some students are known to conclude that AM contains +nothing of use to them when they look for one or two things and do not +find them. It is difficult to discover that middle ground where one has +a sense of what the system contains. Some students grope toward the idea +of an archive, a new idea to them, since they have not previously +experienced what it means to have access to a vast body of somewhat +random information. + +Other questions raised by FREEMAN concerned the electronic format itself. +For instance, in a school environment it is often difficult both for +teachers and students to gain a sense of what it is they are viewing. +They understand that it is a visual image, but they do not necessarily +know that it is a postcard from the turn of the century, a panoramic +photograph, or even machine-readable text of an eighteenth-century +broadside, a twentieth-century printed book, or a nineteenth-century +diary. That distinction is often difficult for people in a school +environment to grasp. Because of that, it occasionally becomes difficult +to draw conclusions from what one is viewing. + +FREEMAN also noted the obvious fear of the computer, which constitutes a +difficulty in using an electronic resource. Though students in general +did not suffer from this anxiety, several older students feared that they +were computer-illiterate, an assumption that became self-fulfilling when +they searched for something but failed to find it. FREEMAN said she +believed that some teachers also fear computer resources, because they +believe they lack complete control. FREEMAN related the example of +teachers shooing away students because it was not their time to use the +system. This was a case in which the situation had to be extremely +structured so that the teachers would not feel that they had lost their +grasp on what the system contained. + +A final question raised by FREEMAN concerned access and availability of +the system. She noted the occasional existence of a gap in communication +between school librarians and teachers. Often AM sits in a school +library and the librarian is the person responsible for monitoring the +system. Teachers do not always take into their world new library +resources about which the librarian is excited. Indeed, at the sites +where AM had been used most effectively within a library, the librarian +was required to go to specific teachers and instruct them in its use. As +a result, several AM sites will have in-service sessions over a summer, +in the hope that perhaps, with a more individualized link, teachers will +be more likely to use the resource. + +A related issue in the school context concerned the number of +workstations available at any one location. Centralization of equipment +at the district level, with teachers invited to download things and walk +away with them, proved unsuccessful because the hours these offices were +open were also school hours. + +Another issue was hardware. As VECCIA observed, a range of sites exists, +some technologically advanced and others essentially acquiring their +first computer for the primary purpose of using it in conjunction with +AM's testing. Users at technologically sophisticated sites want even +more sophisticated hardware, so that they can perform even more +sophisticated tasks with the materials in AM. But once they acquire a +newer piece of hardware, they must learn how to use that also; at an +unsophisticated site it takes an extremely long time simply to become +accustomed to the computer, not to mention the program offered with the +computer. All of these small issues raise one large question, namely, +are systems like AM truly rewarding in a school environment, or do they +simply act as innovative toys that do little more than spark interest? + +FREEMAN contended that the evaluation project has revealed several strengths +that were gained through the use of archival resources in schools, including: + + * Psychic rewards from using AM as a vast, rich database, with + teachers assigning various projects to students--oral presentations, + written reports, a documentary, a turn-of-the-century newspaper-- + projects that start with the materials in AM but are completed using + other resources; AM thus is used as a research tool in conjunction + with other electronic resources, as well as with books and items in + the library where the system is set up. + + * Students are acquiring computer literacy in a humanities context. + + * This sort of system is overcoming the isolation between disciplines + that often exists in schools. For example, many English teachers are + requiring their students to write papers on historical topics + represented in AM. Numerous teachers have reported that their + students are learning critical thinking skills using the system. + + * On a broader level, AM is introducing primary materials, not only + to students but also to teachers, in an environment where often + simply none exist--an exciting thing for the students because it + helps them learn to conduct research, to interpret, and to draw + their own conclusions. In learning to conduct research and what it + means, students are motivated to seek knowledge. That relates to + another positive outcome--a high level of personal involvement of + students with the materials in this system and greater motivation to + conduct their own research and draw their own conclusions. + + * Perhaps the most ironic strength of these kinds of archival + electronic resources is that many of the teachers AM interviewed + were desperate, it is no exaggeration to say, not only for primary + materials but for unstructured primary materials. These would, they + thought, foster personally motivated research, exploration, and + excitement in their students. Indeed, these materials have done + just that. Ironically, however, this lack of structure produces + some of the confusion to which the newness of these kinds of + resources may also contribute. The key to effective use of archival + products in a school environment is a clear, effective introduction + to the system and to what it contains. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Nothing known, quantitatively, about the number of +humanities scholars who must see the original versus those who would +settle for an edited transcript, or about the ways in which humanities +scholars are using information technology * Firm conclusions concerning +the manner and extent of the use of supporting materials in print +provided by AM to await completion of evaluative study * A listener's +reflections on additional applications of electronic texts * Role of +electronic resources in teaching elementary research skills to students * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion that followed the presentations by MICHELSON, +VECCIA, and FREEMAN, additional points emerged. + +LESK asked if MICHELSON could give any quantitative estimate of the +number of humanities scholars who must see or want to see the original, +or the best possible version of the material, versus those who typically +would settle for an edited transcript. While unable to provide a figure, +she offered her impressions as an archivist who has done some reference +work and has discussed this issue with other archivists who perform +reference, that those who use archives and those who use primary sources +for what would be considered very high-level scholarly research, as +opposed to, say, undergraduate papers, were few in number, especially +given the public interest in using primary sources to conduct +genealogical or avocational research and the kind of professional +research done by people in private industry or the federal government. +More important in MICHELSON's view was that, quantitatively, nothing is +known about the ways in which, for example, humanities scholars are using +information technology. No studies exist to offer guidance in creating +strategies. The most recent study was conducted in 1985 by the American +Council of Learned Societies (ACLS), and what it showed was that 50 +percent of humanities scholars at that time were using computers. That +constitutes the extent of our knowledge. + +Concerning AM's strategy for orienting people toward the scope of +electronic resources, FREEMAN could offer no hard conclusions at this +point, because she and her colleagues were still waiting to see, +particularly in the schools, what has been made of their efforts. Within +the system, however, AM has provided what are called electronic exhibits- +-such as introductions to time periods and materials--and these are +intended to offer a student user a sense of what a broadside is and what +it might tell her or him. But FREEMAN conceded that the project staff +would have to talk with students next year, after teachers have had a +summer to use the materials, and attempt to discover what the students +were learning from the materials. In addition, FREEMAN described +supporting materials in print provided by AM at the request of local +teachers during a meeting held at LC. These included time lines, +bibliographies, and other materials that could be reproduced on a +photocopier in a classroom. Teachers could walk away with and use these, +and in this way gain a better understanding of the contents. But again, +reaching firm conclusions concerning the manner and extent of their use +would have to wait until next year. + +As to the changes she saw occurring at the National Archives and Records +Administration (NARA) as a result of the increasing emphasis on +technology in scholarly research, MICHELSON stated that NARA at this +point was absorbing the report by her and Jeff Rothenberg addressing +strategies for the archival profession in general, although not for the +National Archives specifically. NARA is just beginning to establish its +role and what it can do. In terms of changes and initiatives that NARA +can take, no clear response could be given at this time. + +GREENFIELD remarked two trends mentioned in the session. Reflecting on +DALY's opening comments on how he could have used a Latin collection of +text in an electronic form, he said that at first he thought most scholars +would be unwilling to do that. But as he thought of that in terms of the +original meaning of research--that is, having already mastered these texts, +researching them for critical and comparative purposes--for the first time, +the electronic format made a lot of sense. GREENFIELD could envision +growing numbers of scholars learning the new technologies for that very +aspect of their scholarship and for convenience's sake. + +Listening to VECCIA and FREEMAN, GREENFIELD thought of an additional +application of electronic texts. He realized that AM could be used as a +guide to lead someone to original sources. Students cannot be expected +to have mastered these sources, things they have never known about +before. Thus, AM is leading them, in theory, to a vast body of +information and giving them a superficial overview of it, enabling them +to select parts of it. GREENFIELD asked if any evidence exists that this +resource will indeed teach the new user, the K-12 students, how to do +research. Scholars already know how to do research and are applying +these new tools. But he wondered why students would go beyond picking +out things that were most exciting to them. + +FREEMAN conceded the correctness of GREENFIELD's observation as applied +to a school environment. The risk is that a student would sit down at a +system, play with it, find some things of interest, and then walk away. +But in the relatively controlled situation of a school library, much will +depend on the instructions a teacher or a librarian gives a student. She +viewed the situation not as one of fine-tuning research skills but of +involving students at a personal level in understanding and researching +things. Given the guidance one can receive at school, it then becomes +possible to teach elementary research skills to students, which in fact +one particular librarian said she was teaching her fifth graders. +FREEMAN concluded that introducing the idea of following one's own path +of inquiry, which is essentially what research entails, involves more +than teaching specific skills. To these comments VECCIA added the +observation that the individual teacher and the use of a creative +resource, rather than AM itself, seemed to make the key difference. +Some schools and some teachers are making excellent use of the nature +of critical thinking and teaching skills, she said. + +Concurring with these remarks, DALY closed the session with the thought that +the more that producers produced for teachers and for scholars to use with +their students, the more successful their electronic products would prove. + + ****** + +SESSION II. SHOW AND TELL + +Jacqueline HESS, director, National Demonstration Laboratory, served as +moderator of the "show-and-tell" session. She noted that a +question-and-answer period would follow each presentation. + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +MYLONAS * Overview and content of Perseus * Perseus' primary materials +exist in a system-independent, archival form * A concession * Textual +aspects of Perseus * Tools to use with the Greek text * Prepared indices +and full-text searches in Perseus * English-Greek word search leads to +close study of words and concepts * Navigating Perseus by tracing down +indices * Using the iconography to perform research * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Elli MYLONAS, managing editor, Perseus Project, Harvard University, first +gave an overview of Perseus, a large, collaborative effort based at +Harvard University but with contributors and collaborators located at +numerous universities and colleges in the United States (e.g., Bowdoin, +Maryland, Pomona, Chicago, Virginia). Funded primarily by the +Annenberg/CPB Project, with additional funding from Apple, Harvard, and +the Packard Humanities Institute, among others, Perseus is a multimedia, +hypertextual database for teaching and research on classical Greek +civilization, which was released in February 1992 in version 1.0 and +distributed by Yale University Press. + +Consisting entirely of primary materials, Perseus includes ancient Greek +texts and translations of those texts; catalog entries--that is, museum +catalog entries, not library catalog entries--on vases, sites, coins, +sculpture, and archaeological objects; maps; and a dictionary, among +other sources. The number of objects and the objects for which catalog +entries exist are accompanied by thousands of color images, which +constitute a major feature of the database. Perseus contains +approximately 30 megabytes of text, an amount that will double in +subsequent versions. In addition to these primary materials, the Perseus +Project has been building tools for using them, making access and +navigation easier, the goal being to build part of the electronic +environment discussed earlier in the morning in which students or +scholars can work with their sources. + +The demonstration of Perseus will show only a fraction of the real work +that has gone into it, because the project had to face the dilemma of +what to enter when putting something into machine-readable form: should +one aim for very high quality or make concessions in order to get the +material in? Since Perseus decided to opt for very high quality, all of +its primary materials exist in a system-independent--insofar as it is +possible to be system-independent--archival form. Deciding what that +archival form would be and attaining it required much work and thought. +For example, all the texts are marked up in SGML, which will be made +compatible with the guidelines of the Text Encoding Initiative (TEI) when +they are issued. + +Drawings are postscript files, not meeting international standards, but +at least designed to go across platforms. Images, or rather the real +archival forms, consist of the best available slides, which are being +digitized. Much of the catalog material exists in database form--a form +that the average user could use, manipulate, and display on a personal +computer, but only at great cost. Thus, this is where the concession +comes in: All of this rich, well-marked-up information is stripped of +much of its content; the images are converted into bit-maps and the text +into small formatted chunks. All this information can then be imported +into HyperCard and run on a mid-range Macintosh, which is what Perseus +users have. This fact has made it possible for Perseus to attain wide +use fairly rapidly. Without those archival forms the HyperCard version +being demonstrated could not be made easily, and the project could not +have the potential to move to other forms and machines and software as +they appear, none of which information is in Perseus on the CD. + +Of the numerous multimedia aspects of Perseus, MYLONAS focused on the +textual. Part of what makes Perseus such a pleasure to use, MYLONAS +said, is this effort at seamless integration and the ability to move +around both visual and textual material. Perseus also made the decision +not to attempt to interpret its material any more than one interprets by +selecting. But, MYLONAS emphasized, Perseus is not courseware: No +syllabus exists. There is no effort to define how one teaches a topic +using Perseus, although the project may eventually collect papers by +people who have used it to teach. Rather, Perseus aims to provide +primary material in a kind of electronic library, an electronic sandbox, +so to say, in which students and scholars who are working on this +material can explore by themselves. With that, MYLONAS demonstrated +Perseus, beginning with the Perseus gateway, the first thing one sees +upon opening Perseus--an effort in part to solve the contextualizing +problem--which tells the user what the system contains. + +MYLONAS demonstrated only a very small portion, beginning with primary +texts and running off the CD-ROM. Having selected Aeschylus' Prometheus +Bound, which was viewable in Greek and English pretty much in the same +segments together, MYLONAS demonstrated tools to use with the Greek text, +something not possible with a book: looking up the dictionary entry form +of an unfamiliar word in Greek after subjecting it to Perseus' +morphological analysis for all the texts. After finding out about a +word, a user may then decide to see if it is used anywhere else in Greek. +Because vast amounts of indexing support all of the primary material, one +can find out where else all forms of a particular Greek word appear-- +often not a trivial matter because Greek is highly inflected. Further, +since the story of Prometheus has to do with the origins of sacrifice, a +user may wish to study and explore sacrifice in Greek literature; by +typing sacrifice into a small window, a user goes to the English-Greek +word list--something one cannot do without the computer (Perseus has +indexed the definitions of its dictionary)--the string sacrifice appears +in the definitions of these sixty-five words. One may then find out +where any of those words is used in the work(s) of a particular author. +The English definitions are not lemmatized. + +All of the indices driving this kind of usage were originally devised for +speed, MYLONAS observed; in other words, all that kind of information-- +all forms of all words, where they exist, the dictionary form they belong +to--were collected into databases, which will expedite searching. Then +it was discovered that one can do things searching in these databases +that could not be done searching in the full texts. Thus, although there +are full-text searches in Perseus, much of the work is done behind the +scenes, using prepared indices. Re the indexing that is done behind the +scenes, MYLONAS pointed out that without the SGML forms of the text, it +could not be done effectively. Much of this indexing is based on the +structures that are made explicit by the SGML tagging. + +It was found that one of the things many of Perseus' non-Greek-reading +users do is start from the dictionary and then move into the close study +of words and concepts via this kind of English-Greek word search, by which +means they might select a concept. This exercise has been assigned to +students in core courses at Harvard--to study a concept by looking for the +English word in the dictionary, finding the Greek words, and then finding +the words in the Greek but, of course, reading across in the English. +That tells them a great deal about what a translation means as well. + +Should one also wish to see images that have to do with sacrifice, that +person would go to the object key word search, which allows one to +perform a similar kind of index retrieval on the database of +archaeological objects. Without words, pictures are useless; Perseus has +not reached the point where it can do much with images that are not +cataloged. Thus, although it is possible in Perseus with text and images +to navigate by knowing where one wants to end up--for example, a +red-figure vase from the Boston Museum of Fine Arts--one can perform this +kind of navigation very easily by tracing down indices. MYLONAS +illustrated several generic scenes of sacrifice on vases. The features +demonstrated derived from Perseus 1.0; version 2.0 will implement even +better means of retrieval. + +MYLONAS closed by looking at one of the pictures and noting again that +one can do a great deal of research using the iconography as well as the +texts. For instance, students in a core course at Harvard this year were +highly interested in Greek concepts of foreigners and representations of +non-Greeks. So they performed a great deal of research, both with texts +(e.g., Herodotus) and with iconography on vases and coins, on how the +Greeks portrayed non-Greeks. At the same time, art historians who study +iconography were also interested, and were able to use this material. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Indexing and searchability of all English words in Perseus * +Several features of Perseus 1.0 * Several levels of customization +possible * Perseus used for general education * Perseus' effects on +education * Contextual information in Perseus * Main challenge and +emphasis of Perseus * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Several points emerged in the discussion that followed MYLONAS's presentation. + +Although MYLONAS had not demonstrated Perseus' ability to cross-search +documents, she confirmed that all English words in Perseus are indexed +and can be searched. So, for example, sacrifice could have been searched +in all texts, the historical essay, and all the catalogue entries with +their descriptions--in short, in all of Perseus. + +Boolean logic is not in Perseus 1.0 but will be added to the next +version, although an effort is being made not to restrict Perseus to a +database in which one just performs searching, Boolean or otherwise. It +is possible to move laterally through the documents by selecting a word +one is interested in and selecting an area of information one is +interested in and trying to look that word up in that area. + +Since Perseus was developed in HyperCard, several levels of customization +are possible. Simple authoring tools exist that allow one to create +annotated paths through the information, which are useful for note-taking +and for guided tours for teaching purposes and for expository writing. +With a little more ingenuity it is possible to begin to add or substitute +material in Perseus. + +Perseus has not been used so much for classics education as for general +education, where it seemed to have an impact on the students in the core +course at Harvard (a general required course that students must take in +certain areas). Students were able to use primary material much more. + +The Perseus Project has an evaluation team at the University of Maryland +that has been documenting Perseus' effects on education. Perseus is very +popular, and anecdotal evidence indicates that it is having an effect at +places other than Harvard, for example, test sites at Ball State +University, Drury College, and numerous small places where opportunities +to use vast amounts of primary data may not exist. One documented effect +is that archaeological, anthropological, and philological research is +being done by the same person instead of by three different people. + +The contextual information in Perseus includes an overview essay, a +fairly linear historical essay on the fifth century B.C. that provides +links into the primary material (e.g., Herodotus, Thucydides, and +Plutarch), via small gray underscoring (on the screen) of linked +passages. These are handmade links into other material. + +To different extents, most of the production work was done at Harvard, +where the people and the equipment are located. Much of the +collaborative activity involved data collection and structuring, because +the main challenge and the emphasis of Perseus is the gathering of +primary material, that is, building a useful environment for studying +classical Greece, collecting data, and making it useful. +Systems-building is definitely not the main concern. Thus, much of the +work has involved writing essays, collecting information, rewriting it, +and tagging it. That can be done off site. The creative link for the +overview essay as well as for both systems and data was collaborative, +and was forged via E-mail and paper mail with professors at Pomona and +Bowdoin. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +CALALUCA * PLD's principal focus and contribution to scholarship * +Various questions preparatory to beginning the project * Basis for +project * Basic rule in converting PLD * Concerning the images in PLD * +Running PLD under a variety of retrieval software * Encoding the +database a hard-fought issue * Various features demonstrated * Importance +of user documentation * Limitations of the CD-ROM version * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Eric CALALUCA, vice president, Chadwyck-Healey, Inc., demonstrated a +software interpretation of the Patrologia Latina Database (PLD). PLD's +principal focus from the beginning of the project about three-and-a-half +years ago was on converting Migne's Latin series, and in the end, +CALALUCA suggested, conversion of the text will be the major contribution +to scholarship. CALALUCA stressed that, as possibly the only private +publishing organization at the Workshop, Chadwyck-Healey had sought no +federal funds or national foundation support before embarking upon the +project, but instead had relied upon a great deal of homework and +marketing to accomplish the task of conversion. + +Ever since the possibilities of computer-searching have emerged, scholars +in the field of late ancient and early medieval studies (philosophers, +theologians, classicists, and those studying the history of natural law +and the history of the legal development of Western civilization) have +been longing for a fully searchable version of Western literature, for +example, all the texts of Augustine and Bernard of Clairvaux and +Boethius, not to mention all the secondary and tertiary authors. + +Various questions arose, CALALUCA said. Should one convert Migne? +Should the database be encoded? Is it necessary to do that? How should +it be delivered? What about CD-ROM? Since this is a transitional +medium, why even bother to create software to run on a CD-ROM? Since +everybody knows people will be networking information, why go to the +trouble--which is far greater with CD-ROM than with the production of +magnetic data? Finally, how does one make the data available? Can many +of the hurdles to using electronic information that some publishers have +imposed upon databases be eliminated? + +The PLD project was based on the principle that computer-searching of +texts is most effective when it is done with a large database. Because +PLD represented a collection that serves so many disciplines across so +many periods, it was irresistible. + +The basic rule in converting PLD was to do no harm, to avoid the sins of +intrusion in such a database: no introduction of newer editions, no +on-the-spot changes, no eradicating of all possible falsehoods from an +edition. Thus, PLD is not the final act in electronic publishing for +this discipline, but simply the beginning. The conversion of PLD has +evoked numerous unanticipated questions: How will information be used? +What about networking? Can the rights of a database be protected? +Should one protect the rights of a database? How can it be made +available? + +Those converting PLD also tried to avoid the sins of omission, that is, +excluding portions of the collections or whole sections. What about the +images? PLD is full of images, some are extremely pious +nineteenth-century representations of the Fathers, while others contain +highly interesting elements. The goal was to cover all the text of Migne +(including notes, in Greek and in Hebrew, the latter of which, in +particular, causes problems in creating a search structure), all the +indices, and even the images, which are being scanned in separately +searchable files. + +Several North American institutions that have placed acquisition requests +for the PLD database have requested it in magnetic form without software, +which means they are already running it without software, without +anything demonstrated at the Workshop. + +What cannot practically be done is go back and reconvert and re-encode +data, a time-consuming and extremely costly enterprise. CALALUCA sees +PLD as a database that can, and should, be run under a variety of +retrieval software. This will permit the widest possible searches. +Consequently, the need to produce a CD-ROM of PLD, as well as to develop +software that could handle some 1.3 gigabyte of heavily encoded text, +developed out of conversations with collection development and reference +librarians who wanted software both compassionate enough for the +pedestrian but also capable of incorporating the most detailed +lexicographical studies that a user desires to conduct. In the end, the +encoding and conversion of the data will prove the most enduring +testament to the value of the project. + +The encoding of the database was also a hard-fought issue: Did the +database need to be encoded? Were there normative structures for encoding +humanist texts? Should it be SGML? What about the TEI--will it last, +will it prove useful? CALALUCA expressed some minor doubts as to whether +a data bank can be fully TEI-conformant. Every effort can be made, but +in the end to be TEI-conformant means to accept the need to make some +firm encoding decisions that can, indeed, be disputed. The TEI points +the publisher in a proper direction but does not presume to make all the +decisions for him or her. Essentially, the goal of encoding was to +eliminate, as much as possible, the hindrances to information-networking, +so that if an institution acquires a database, everybody associated with +the institution can have access to it. + +CALALUCA demonstrated a portion of Volume 160, because it had the most +anomalies in it. The software was created by Electronic Book +Technologies of Providence, RI, and is called Dynatext. The software +works only with SGML-coded data. + +Viewing a table of contents on the screen, the audience saw how Dynatext +treats each element as a book and attempts to simplify movement through a +volume. Familiarity with the Patrologia in print (i.e., the text, its +source, and the editions) will make the machine-readable versions highly +useful. (Software with a Windows application was sought for PLD, +CALALUCA said, because this was the main trend for scholarly use.) + +CALALUCA also demonstrated how a user can perform a variety of searches +and quickly move to any part of a volume; the look-up screen provides +some basic, simple word-searching. + +CALALUCA argued that one of the major difficulties is not the software. +Rather, in creating a product that will be used by scholars representing +a broad spectrum of computer sophistication, user documentation proves +to be the most important service one can provide. + +CALALUCA next illustrated a truncated search under mysterium within ten +words of virtus and how one would be able to find its contents throughout +the entire database. He said that the exciting thing about PLD is that +many of the applications in the retrieval software being written for it +will exceed the capabilities of the software employed now for the CD-ROM +version. The CD-ROM faces genuine limitations, in terms of speed and +comprehensiveness, in the creation of a retrieval software to run it. +CALALUCA said he hoped that individual scholars will download the data, +if they wish, to their personal computers, and have ready access to +important texts on a constant basis, which they will be able to use in +their research and from which they might even be able to publish. + +(CALALUCA explained that the blue numbers represented Migne's column numbers, +which are the standard scholarly references. Pulling up a note, he stated +that these texts were heavily edited and the image files would appear simply +as a note as well, so that one could quickly access an image.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER/ERWAY * Several problems with which AM is still wrestling * +Various search and retrieval capabilities * Illustration of automatic +stemming and a truncated search * AM's attempt to find ways to connect +cataloging to the texts * AM's gravitation towards SGML * Striking a +balance between quantity and quality * How AM furnishes users recourse to +images * Conducting a search in a full-text environment * Macintosh and +IBM prototypes of AM * Multimedia aspects of AM * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +A demonstration of American Memory by its coordinator, Carl FLEISCHHAUER, +and Ricky ERWAY, associate coordinator, Library of Congress, concluded +the morning session. Beginning with a collection of broadsides from the +Continental Congress and the Constitutional Convention, the only text +collection in a presentable form at the time of the Workshop, FLEISCHHAUER +highlighted several of the problems with which AM is still wrestling. +(In its final form, the disk will contain two collections, not only the +broadsides but also the full text with illustrations of a set of +approximately 300 African-American pamphlets from the period 1870 to 1910.) + +As FREEMAN had explained earlier, AM has attempted to use a small amount +of interpretation to introduce collections. In the present case, the +contractor, a company named Quick Source, in Silver Spring, MD., used +software called Toolbook and put together a modestly interactive +introduction to the collection. Like the two preceding speakers, +FLEISCHHAUER argued that the real asset was the underlying collection. + +FLEISCHHAUER proceeded to describe various search and retrieval +capabilities while ERWAY worked the computer. In this particular package +the "go to" pull-down allowed the user in effect to jump out of Toolbook, +where the interactive program was located, and enter the third-party +software used by AM for this text collection, which is called Personal +Librarian. This was the Windows version of Personal Librarian, a +software application put together by a company in Rockville, Md. + +Since the broadsides came from the Revolutionary War period, a search was +conducted using the words British or war, with the default operator reset +as or. FLEISCHHAUER demonstrated both automatic stemming (which finds +other forms of the same root) and a truncated search. One of Personal +Librarian's strongest features, the relevance ranking, was represented by +a chart that indicated how often words being sought appeared in +documents, with the one receiving the most "hits" obtaining the highest +score. The "hit list" that is supplied takes the relevance ranking into +account, making the first hit, in effect, the one the software has +selected as the most relevant example. + +While in the text of one of the broadside documents, FLEISCHHAUER +remarked AM's attempt to find ways to connect cataloging to the texts, +which it does in different ways in different manifestations. In the case +shown, the cataloging was pasted on: AM took MARC records that were +written as on-line records right into one of the Library's mainframe +retrieval programs, pulled them out, and handed them off to the contractor, +who massaged them somewhat to display them in the manner shown. One of +AM's questions is, Does the cataloguing normally performed in the mainframe +work in this context, or had AM ought to think through adjustments? + +FLEISCHHAUER made the additional point that, as far as the text goes, AM +has gravitated towards SGML (he pointed to the boldface in the upper part +of the screen). Although extremely limited in its ability to translate +or interpret SGML, Personal Librarian will furnish both bold and italics +on screen; a fairly easy thing to do, but it is one of the ways in which +SGML is useful. + +Striking a balance between quantity and quality has been a major concern +of AM, with accuracy being one of the places where project staff have +felt that less than 100-percent accuracy was not unacceptable. +FLEISCHHAUER cited the example of the standard of the rekeying industry, +namely 99.95 percent; as one service bureau informed him, to go from +99.95 to 100 percent would double the cost. + +FLEISCHHAUER next demonstrated how AM furnishes users recourse to images, +and at the same time recalled LESK's pointed question concerning the +number of people who would look at those images and the number who would +work only with the text. If the implication of LESK's question was +sound, FLEISCHHAUER said, it raised the stakes for text accuracy and +reduced the value of the strategy for images. + +Contending that preservation is always a bugaboo, FLEISCHHAUER +demonstrated several images derived from a scan of a preservation +microfilm that AM had made. He awarded a grade of C at best, perhaps a +C minus or a C plus, for how well it worked out. Indeed, the matter of +learning if other people had better ideas about scanning in general, and, +in particular, scanning from microfilm, was one of the factors that drove +AM to attempt to think through the agenda for the Workshop. Skew, for +example, was one of the issues that AM in its ignorance had not reckoned +would prove so difficult. + +Further, the handling of images of the sort shown, in a desktop computer +environment, involved a considerable amount of zooming and scrolling. +Ultimately, AM staff feel that perhaps the paper copy that is printed out +might be the most useful one, but they remain uncertain as to how much +on-screen reading users will do. + +Returning to the text, FLEISCHHAUER asked viewers to imagine a person who +might be conducting a search in a full-text environment. With this +scenario, he proceeded to illustrate other features of Personal Librarian +that he considered helpful; for example, it provides the ability to +notice words as one reads. Clicking the "include" button on the bottom +of the search window pops the words that have been highlighted into the +search. Thus, a user can refine the search as he or she reads, +re-executing the search and continuing to find things in the quest for +materials. This software not only contains relevance ranking, Boolean +operators, and truncation, it also permits one to perform word algebra, +so to say, where one puts two or three words in parentheses and links +them with one Boolean operator and then a couple of words in another set +of parentheses and asks for things within so many words of others. + +Until they became acquainted recently with some of the work being done in +classics, the AM staff had not realized that a large number of the +projects that involve electronic texts were being done by people with a +profound interest in language and linguistics. Their search strategies +and thinking are oriented to those fields, as is shown in particular by +the Perseus example. As amateur historians, the AM staff were thinking +more of searching for concepts and ideas than for particular words. +Obviously, FLEISCHHAUER conceded, searching for concepts and ideas and +searching for words may be two rather closely related things. + +While displaying several images, FLEISCHHAUER observed that the Macintosh +prototype built by AM contains a greater diversity of formats. Echoing a +previous speaker, he said that it was easier to stitch things together in +the Macintosh, though it tended to be a little more anemic in search and +retrieval. AM, therefore, increasingly has been investigating +sophisticated retrieval engines in the IBM format. + +FLEISCHHAUER demonstrated several additional examples of the prototype +interfaces: One was AM's metaphor for the network future, in which a +kind of reading-room graphic suggests how one would be able to go around +to different materials. AM contains a large number of photographs in +analog video form worked up from a videodisc, which enable users to make +copies to print or incorporate in digital documents. A frame-grabber is +built into the system, making it possible to bring an image into a window +and digitize or print it out. + +FLEISCHHAUER next demonstrated sound recording, which included texts. +Recycled from a previous project, the collection included sixty 78-rpm +phonograph records of political speeches that were made during and +immediately after World War I. These constituted approximately three +hours of audio, as AM has digitized it, which occupy 150 megabytes on a +CD. Thus, they are considerably compressed. From the catalogue card, +FLEISCHHAUER proceeded to a transcript of a speech with the audio +available and with highlighted text following it as it played. +A photograph has been added and a transcription made. + +Considerable value has been added beyond what the Library of Congress +normally would do in cataloguing a sound recording, which raises several +questions for AM concerning where to draw lines about how much value it can +afford to add and at what point, perhaps, this becomes more than AM could +reasonably do or reasonably wish to do. FLEISCHHAUER also demonstrated +a motion picture. As FREEMAN had reported earlier, the motion picture +materials have proved the most popular, not surprisingly. This says more +about the medium, he thought, than about AM's presentation of it. + +Because AM's goal was to bring together things that could be used by +historians or by people who were curious about history, +turn-of-the-century footage seemed to represent the most appropriate +collections from the Library of Congress in motion pictures. These were +the very first films made by Thomas Edison's company and some others at +that time. The particular example illustrated was a Biograph film, +brought in with a frame-grabber into a window. A single videodisc +contains about fifty titles and pieces of film from that period, all of +New York City. Taken together, AM believes, they provide an interesting +documentary resource. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Using the frame-grabber in AM * Volume of material processed +and to be processed * Purpose of AM within LC * Cataloguing and the +nature of AM's material * SGML coding and the question of quality versus +quantity * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed FLEISCHHAUER's +presentation, several clarifications were made. + +AM is bringing in motion pictures from a videodisc. The frame-grabber +devices create a window on a computer screen, which permits users to +digitize a single frame of the movie or one of the photographs. It +produces a crude, rough-and-ready image that high school students can +incorporate into papers, and that has worked very nicely in this way. + +Commenting on FLEISCHHAUER's assertion that AM was looking more at +searching ideas than words, MYLONAS argued that without words an idea +does not exist. FLEISCHHAUER conceded that he ought to have articulated +his point more clearly. MYLONAS stated that they were in fact both +talking about the same thing. By searching for words and by forcing +people to focus on the word, the Perseus Project felt that they would get +them to the idea. The way one reviews results is tailored more to one +kind of user than another. + +Concerning the total volume of material that has been processed in this +way, AM at this point has in retrievable form seven or eight collections, +all of them photographic. In the Macintosh environment, for example, +there probably are 35,000-40,000 photographs. The sound recordings +number sixty items. The broadsides number about 300 items. There are +500 political cartoons in the form of drawings. The motion pictures, as +individual items, number sixty to seventy. + +AM also has a manuscript collection, the life history portion of one of +the federal project series, which will contain 2,900 individual +documents, all first-person narratives. AM has in process about 350 +African-American pamphlets, or about 12,000 printed pages for the period +1870-1910. Also in the works are some 4,000 panoramic photographs. AM +has recycled a fair amount of the work done by LC's Prints and +Photographs Division during the Library's optical disk pilot project in +the 1980s. For example, a special division of LC has tooled up and +thought through all the ramifications of electronic presentation of +photographs. Indeed, they are wheeling them out in great barrel loads. +The purpose of AM within the Library, it is hoped, is to catalyze several +of the other special collection divisions which have no particular +experience with, in some cases, mixed feelings about, an activity such as +AM. Moreover, in many cases the divisions may be characterized as not +only lacking experience in "electronifying" things but also in automated +cataloguing. MARC cataloguing as practiced in the United States is +heavily weighted toward the description of monograph and serial +materials, but is much thinner when one enters the world of manuscripts +and things that are held in the Library's music collection and other +units. In response to a comment by LESK, that AM's material is very +heavily photographic, and is so primarily because individual records have +been made for each photograph, FLEISCHHAUER observed that an item-level +catalog record exists, for example, for each photograph in the Detroit +Publishing collection of 25,000 pictures. In the case of the Federal +Writers Project, for which nearly 3,000 documents exist, representing +information from twenty-six different states, AM with the assistance of +Karen STUART of the Manuscript Division will attempt to find some way not +only to have a collection-level record but perhaps a MARC record for each +state, which will then serve as an umbrella for the 100-200 documents +that come under it. But that drama remains to be enacted. The AM staff +is conservative and clings to cataloguing, though of course visitors tout +artificial intelligence and neural networks in a manner that suggests that +perhaps one need not have cataloguing or that much of it could be put aside. + +The matter of SGML coding, FLEISCHHAUER conceded, returned the discussion +to the earlier treated question of quality versus quantity in the Library +of Congress. Of course, text conversion can be done with 100-percent +accuracy, but it means that when one's holdings are as vast as LC's only +a tiny amount will be exposed, whereas permitting lower levels of +accuracy can lead to exposing or sharing larger amounts, but with the +quality correspondingly impaired. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +TWOHIG * A contrary experience concerning electronic options * Volume of +material in the Washington papers and a suggestion of David Packard * +Implications of Packard's suggestion * Transcribing the documents for the +CD-ROM * Accuracy of transcriptions * The CD-ROM edition of the Founding +Fathers documents * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Finding encouragement in a comment of MICHELSON's from the morning +session--that numerous people in the humanities were choosing electronic +options to do their work--Dorothy TWOHIG, editor, The Papers of George +Washington, opened her illustrated talk by noting that her experience +with literary scholars and numerous people in editing was contrary to +MICHELSON's. TWOHIG emphasized literary scholars' complete ignorance of +the technological options available to them or their reluctance or, in +some cases, their downright hostility toward these options. + +After providing an overview of the five Founding Fathers projects +(Jefferson at Princeton, Franklin at Yale, John Adams at the +Massachusetts Historical Society, and Madison down the hall from her at +the University of Virginia), TWOHIG observed that the Washington papers, +like all of the projects, include both sides of the Washington +correspondence and deal with some 135,000 documents to be published with +extensive annotation in eighty to eighty-five volumes, a project that +will not be completed until well into the next century. Thus, it was +with considerable enthusiasm several years ago that the Washington Papers +Project (WPP) greeted David Packard's suggestion that the papers of the +Founding Fathers could be published easily and inexpensively, and to the +great benefit of American scholarship, via CD-ROM. + +In pragmatic terms, funding from the Packard Foundation would expedite +the transcription of thousands of documents waiting to be put on disk in +the WPP offices. Further, since the costs of collecting, editing, and +converting the Founding Fathers documents into letterpress editions were +running into the millions of dollars, and the considerable staffs +involved in all of these projects were devoting their careers to +producing the work, the Packard Foundation's suggestion had a +revolutionary aspect: Transcriptions of the entire corpus of the +Founding Fathers papers would be available on CD-ROM to public and +college libraries, even high schools, at a fraction of the cost-- +$100-$150 for the annual license fee--to produce a limited university +press run of 1,000 of each volume of the published papers at $45-$150 per +printed volume. Given the current budget crunch in educational systems +and the corresponding constraints on librarians in smaller institutions +who wish to add these volumes to their collections, producing the +documents on CD-ROM would likely open a greatly expanded audience for the +papers. TWOHIG stressed, however, that development of the Founding +Fathers CD-ROM is still in its infancy. Serious software problems remain +to be resolved before the material can be put into readable form. + +Funding from the Packard Foundation resulted in a major push to +transcribe the 75,000 or so documents of the Washington papers remaining +to be transcribed onto computer disks. Slides illustrated several of the +problems encountered, for example, the present inability of CD-ROM to +indicate the cross-outs (deleted material) in eighteenth century +documents. TWOHIG next described documents from various periods in the +eighteenth century that have been transcribed in chronological order and +delivered to the Packard offices in California, where they are converted +to the CD-ROM, a process that is expected to consume five years to +complete (that is, reckoning from David Packard's suggestion made several +years ago, until about July 1994). TWOHIG found an encouraging +indication of the project's benefits in the ongoing use made by scholars +of the search functions of the CD-ROM, particularly in reducing the time +spent in manually turning the pages of the Washington papers. + +TWOHIG next furnished details concerning the accuracy of transcriptions. +For instance, the insertion of thousands of documents on the CD-ROM +currently does not permit each document to be verified against the +original manuscript several times as in the case of documents that appear +in the published edition. However, the transcriptions receive a cursory +check for obvious typos, the misspellings of proper names, and other +errors from the WPP CD-ROM editor. Eventually, all documents that appear +in the electronic version will be checked by project editors. Although +this process has met with opposition from some of the editors on the +grounds that imperfect work may leave their offices, the advantages in +making this material available as a research tool outweigh fears about the +misspelling of proper names and other relatively minor editorial matters. + +Completion of all five Founding Fathers projects (i.e., retrievability +and searchability of all of the documents by proper names, alternate +spellings, or varieties of subjects) will provide one of the richest +sources of this size for the history of the United States in the latter +part of the eighteenth century. Further, publication on CD-ROM will +allow editors to include even minutiae, such as laundry lists, not +included in the printed volumes. + +It seems possible that the extensive annotation provided in the printed +volumes eventually will be added to the CD-ROM edition, pending +negotiations with the publishers of the papers. At the moment, the +Founding Fathers CD-ROM is accessible only on the IBYCUS, a computer +developed out of the Thesaurus Linguae Graecae project and designed for +the use of classical scholars. There are perhaps 400 IBYCUS computers in +the country, most of which are in university classics departments. +Ultimately, it is anticipated that the CD-ROM edition of the Founding +Fathers documents will run on any IBM-compatible or Macintosh computer +with a CD-ROM drive. Numerous changes in the software will also occur +before the project is completed. (Editor's note: an IBYCUS was +unavailable to demonstrate the CD-ROM.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Several additional features of WPP clarified * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Discussion following TWOHIG's presentation served to clarify several +additional features, including (1) that the project's primary +intellectual product consists in the electronic transcription of the +material; (2) that the text transmitted to the CD-ROM people is not +marked up; (3) that cataloging and subject-indexing of the material +remain to be worked out (though at this point material can be retrieved +by name); and (4) that because all the searching is done in the hardware, +the IBYCUS is designed to read a CD-ROM which contains only sequential +text files. Technically, it then becomes very easy to read the material +off and put it on another device. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LEBRON * Overview of the history of the joint project between AAAS and +OCLC * Several practices the on-line environment shares with traditional +publishing on hard copy * Several technical and behavioral barriers to +electronic publishing * How AAAS and OCLC arrived at the subject of +clinical trials * Advantages of the electronic format and other features +of OJCCT * An illustrated tour of the journal * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Maria LEBRON, managing editor, The Online Journal of Current Clinical +Trials (OJCCT), presented an illustrated overview of the history of the +joint project between the American Association for the Advancement of +Science (AAAS) and the Online Computer Library Center, Inc. (OCLC). The +joint venture between AAAS and OCLC owes its beginning to a +reorganization launched by the new chief executive officer at OCLC about +three years ago and combines the strengths of these two disparate +organizations. In short, OJCCT represents the process of scholarly +publishing on line. + +LEBRON next discussed several practices the on-line environment shares +with traditional publishing on hard copy--for example, peer review of +manuscripts--that are highly important in the academic world. LEBRON +noted in particular the implications of citation counts for tenure +committees and grants committees. In the traditional hard-copy +environment, citation counts are readily demonstrable, whereas the +on-line environment represents an ethereal medium to most academics. + +LEBRON remarked several technical and behavioral barriers to electronic +publishing, for instance, the problems in transmission created by special +characters or by complex graphics and halftones. In addition, she noted +economic limitations such as the storage costs of maintaining back issues +and market or audience education. + +Manuscripts cannot be uploaded to OJCCT, LEBRON explained, because it is +not a bulletin board or E-mail, forms of electronic transmission of +information that have created an ambience clouding people's understanding +of what the journal is attempting to do. OJCCT, which publishes +peer-reviewed medical articles dealing with the subject of clinical +trials, includes text, tabular material, and graphics, although at this +time it can transmit only line illustrations. + +Next, LEBRON described how AAAS and OCLC arrived at the subject of +clinical trials: It is 1) a highly statistical discipline that 2) does +not require halftones but can satisfy the needs of its audience with line +illustrations and graphic material, and 3) there is a need for the speedy +dissemination of high-quality research results. Clinical trials are +research activities that involve the administration of a test treatment +to some experimental unit in order to test its usefulness before it is +made available to the general population. LEBRON proceeded to give +additional information on OJCCT concerning its editor-in-chief, editorial +board, editorial content, and the types of articles it publishes +(including peer-reviewed research reports and reviews), as well as +features shared by other traditional hard-copy journals. + +Among the advantages of the electronic format are faster dissemination of +information, including raw data, and the absence of space constraints +because pages do not exist. (This latter fact creates an interesting +situation when it comes to citations.) Nor are there any issues. AAAS's +capacity to download materials directly from the journal to a +subscriber's printer, hard drive, or floppy disk helps ensure highly +accurate transcription. Other features of OJCCT include on-screen alerts +that allow linkage of subsequently published documents to the original +documents; on-line searching by subject, author, title, etc.; indexing of +every single word that appears in an article; viewing access to an +article by component (abstract, full text, or graphs); numbered +paragraphs to replace page counts; publication in Science every thirty +days of indexing of all articles published in the journal; +typeset-quality screens; and Hypertext links that enable subscribers to +bring up Medline abstracts directly without leaving the journal. + +After detailing the two primary ways to gain access to the journal, +through the OCLC network and Compuserv if one desires graphics or through +the Internet if just an ASCII file is desired, LEBRON illustrated the +speedy editorial process and the coding of the document using SGML tags +after it has been accepted for publication. She also gave an illustrated +tour of the journal, its search-and-retrieval capabilities in particular, +but also including problems associated with scanning in illustrations, +and the importance of on-screen alerts to the medical profession re +retractions or corrections, or more frequently, editorials, letters to +the editors, or follow-up reports. She closed by inviting the audience +to join AAAS on 1 July, when OJCCT was scheduled to go on-line. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Additional features of OJCCT * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In the lengthy discussion that followed LEBRON's presentation, these +points emerged: + + * The SGML text can be tailored as users wish. + + * All these articles have a fairly simple document definition. + + * Document-type definitions (DTDs) were developed and given to OJCCT + for coding. + + * No articles will be removed from the journal. (Because there are + no back issues, there are no lost issues either. Once a subscriber + logs onto the journal he or she has access not only to the currently + published materials, but retrospectively to everything that has been + published in it. Thus the table of contents grows bigger. The date + of publication serves to distinguish between currently published + materials and older materials.) + + * The pricing system for the journal resembles that for most medical + journals: for 1992, $95 for a year, plus telecommunications charges + (there are no connect time charges); for 1993, $110 for the + entire year for single users, though the journal can be put on a + local area network (LAN). However, only one person can access the + journal at a time. Site licenses may come in the future. + + * AAAS is working closely with colleagues at OCLC to display + mathematical equations on screen. + + * Without compromising any steps in the editorial process, the + technology has reduced the time lag between when a manuscript is + originally submitted and the time it is accepted; the review process + does not differ greatly from the standard six-to-eight weeks + employed by many of the hard-copy journals. The process still + depends on people. + + * As far as a preservation copy is concerned, articles will be + maintained on the computer permanently and subscribers, as part of + their subscription, will receive a microfiche-quality archival copy + of everything published during that year; in addition, reprints can + be purchased in much the same way as in a hard-copy environment. + Hard copies are prepared but are not the primary medium for the + dissemination of the information. + + * Because OJCCT is not yet on line, it is difficult to know how many + people would simply browse through the journal on the screen as + opposed to downloading the whole thing and printing it out; a mix of + both types of users likely will result. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +PERSONIUS * Developments in technology over the past decade * The CLASS +Project * Advantages for technology and for the CLASS Project * +Developing a network application an underlying assumption of the project +* Details of the scanning process * Print-on-demand copies of books * +Future plans include development of a browsing tool * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Lynne PERSONIUS, assistant director, Cornell Information Technologies for +Scholarly Information Services, Cornell University, first commented on +the tremendous impact that developments in technology over the past ten +years--networking, in particular--have had on the way information is +handled, and how, in her own case, these developments have counterbalanced +Cornell's relative geographical isolation. Other significant technologies +include scanners, which are much more sophisticated than they were ten years +ago; mass storage and the dramatic savings that result from it in terms of +both space and money relative to twenty or thirty years ago; new and +improved printing technologies, which have greatly affected the distribution +of information; and, of course, digital technologies, whose applicability to +library preservation remains at issue. + +Given that context, PERSONIUS described the College Library Access and +Storage System (CLASS) Project, a library preservation project, +primarily, and what has been accomplished. Directly funded by the +Commission on Preservation and Access and by the Xerox Corporation, which +has provided a significant amount of hardware, the CLASS Project has been +working with a development team at Xerox to develop a software +application tailored to library preservation requirements. Within +Cornell, participants in the project have been working jointly with both +library and information technologies. The focus of the project has been +on reformatting and saving books that are in brittle condition. +PERSONIUS showed Workshop participants a brittle book, and described how +such books were the result of developments in papermaking around the +beginning of the Industrial Revolution. The papermaking process was +changed so that a significant amount of acid was introduced into the +actual paper itself, which deteriorates as it sits on library shelves. + +One of the advantages for technology and for the CLASS Project is that +the information in brittle books is mostly out of copyright and thus +offers an opportunity to work with material that requires library +preservation, and to create and work on an infrastructure to save the +material. Acknowledging the familiarity of those working in preservation +with this information, PERSONIUS noted that several things are being +done: the primary preservation technology used today is photocopying of +brittle material. Saving the intellectual content of the material is the +main goal. With microfilm copy, the intellectual content is preserved on +the assumption that in the future the image can be reformatted in any +other way that then exists. + +An underlying assumption of the CLASS Project from the beginning was +that it would develop a network application. Project staff scan books +at a workstation located in the library, near the brittle material. +An image-server filing system is located at a distance from that +workstation, and a printer is located in another building. All of the +materials digitized and stored on the image-filing system are cataloged +in the on-line catalogue. In fact, a record for each of these electronic +books is stored in the RLIN database so that a record exists of what is +in the digital library throughout standard catalogue procedures. In the +future, researchers working from their own workstations in their offices, +or their networks, will have access--wherever they might be--through a +request server being built into the new digital library. A second +assumption is that the preferred means of finding the material will be by +looking through a catalogue. PERSONIUS described the scanning process, +which uses a prototype scanner being developed by Xerox and which scans a +very high resolution image at great speed. Another significant feature, +because this is a preservation application, is the placing of the pages +that fall apart one for one on the platen. Ordinarily, a scanner could +be used with some sort of a document feeder, but because of this +application that is not feasible. Further, because CLASS is a +preservation application, after the paper replacement is made there, a +very careful quality control check is performed. An original book is +compared to the printed copy and verification is made, before proceeding, +that all of the image, all of the information, has been captured. Then, +a new library book is produced: The printed images are rebound by a +commercial binder and a new book is returned to the shelf. +Significantly, the books returned to the library shelves are beautiful +and useful replacements on acid-free paper that should last a long time, +in effect, the equivalent of preservation photocopies. Thus, the project +has a library of digital books. In essence, CLASS is scanning and +storing books as 600 dot-per-inch bit-mapped images, compressed using +Group 4 CCITT (i.e., the French acronym for International Consultative +Committee for Telegraph and Telephone) compression. They are stored as +TIFF files on an optical filing system that is composed of a database +used for searching and locating the books and an optical jukebox that +stores 64 twelve-inch platters. A very-high-resolution printed copy of +these books at 600 dots per inch is created, using a Xerox DocuTech +printer to make the paper replacements on acid-free paper. + +PERSONIUS maintained that the CLASS Project presents an opportunity to +introduce people to books as digital images by using a paper medium. +Books are returned to the shelves while people are also given the ability +to print on demand--to make their own copies of books. (PERSONIUS +distributed copies of an engineering journal published by engineering +students at Cornell around 1900 as an example of what a print-on-demand +copy of material might be like. This very cheap copy would be available +to people to use for their own research purposes and would bridge the gap +between an electronic work and the paper that readers like to have.) +PERSONIUS then attempted to illustrate a very early prototype of +networked access to this digital library. Xerox Corporation has +developed a prototype of a view station that can send images across the +network to be viewed. + +The particular library brought down for demonstration contained two +mathematics books. CLASS is developing and will spend the next year +developing an application that allows people at workstations to browse +the books. Thus, CLASS is developing a browsing tool, on the assumption +that users do not want to read an entire book from a workstation, but +would prefer to be able to look through and decide if they would like to +have a printed copy of it. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Re retrieval software * "Digital file copyright" * Scanning +rate during production * Autosegmentation * Criteria employed in +selecting books for scanning * Compression and decompression of images * +OCR not precluded * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed her presentation, +PERSONIUS made these additional points: + + * Re retrieval software, Cornell is developing a Unix-based server + as well as clients for the server that support multiple platforms + (Macintosh, IBM and Sun workstations), in the hope that people from + any of those platforms will retrieve books; a further operating + assumption is that standard interfaces will be used as much as + possible, where standards can be put in place, because CLASS + considers this retrieval software a library application and would + like to be able to look at material not only at Cornell but at other + institutions. + + * The phrase "digital file copyright by Cornell University" was + added at the advice of Cornell's legal staff with the caveat that it + probably would not hold up in court. Cornell does not want people + to copy its books and sell them but would like to keep them + available for use in a library environment for library purposes. + + * In production the scanner can scan about 300 pages per hour, + capturing 600 dots per inch. + + * The Xerox software has filters to scan halftone material and avoid + the moire patterns that occur when halftone material is scanned. + Xerox has been working on hardware and software that would enable + the scanner itself to recognize this situation and deal with it + appropriately--a kind of autosegmentation that would enable the + scanner to handle halftone material as well as text on a single page. + + * The books subjected to the elaborate process described above were + selected because CLASS is a preservation project, with the first 500 + books selected coming from Cornell's mathematics collection, because + they were still being heavily used and because, although they were + in need of preservation, the mathematics library and the mathematics + faculty were uncomfortable having them microfilmed. (They wanted a + printed copy.) Thus, these books became a logical choice for this + project. Other books were chosen by the project's selection committees + for experiments with the technology, as well as to meet a demand or need. + + * Images will be decompressed before they are sent over the line; at + this time they are compressed and sent to the image filing system + and then sent to the printer as compressed images; they are returned + to the workstation as compressed 600-dpi images and the workstation + decompresses and scales them for display--an inefficient way to + access the material though it works quite well for printing and + other purposes. + + * CLASS is also decompressing on Macintosh and IBM, a slow process + right now. Eventually, compression and decompression will take + place on an image conversion server. Trade-offs will be made, based + on future performance testing, concerning where the file is + compressed and what resolution image is sent. + + * OCR has not been precluded; images are being stored that have been + scanned at a high resolution, which presumably would suit them well + to an OCR process. Because the material being scanned is about 100 + years old and was printed with less-than-ideal technologies, very + early and preliminary tests have not produced good results. But the + project is capturing an image that is of sufficient resolution to be + subjected to OCR in the future. Moreover, the system architecture + and the system plan have a logical place to store an OCR image if it + has been captured. But that is not being done now. + + ****** + +SESSION III. DISTRIBUTION, NETWORKS, AND NETWORKING: OPTIONS FOR +DISSEMINATION + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZICH * Issues pertaining to CD-ROMs * Options for publishing in CD-ROM * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Robert ZICH, special assistant to the associate librarian for special +projects, Library of Congress, and moderator of this session, first noted +the blessed but somewhat awkward circumstance of having four very +distinguished people representing networks and networking or at least +leaning in that direction, while lacking anyone to speak from the +strongest possible background in CD-ROMs. ZICH expressed the hope that +members of the audience would join the discussion. He stressed the +subtitle of this particular session, "Options for Dissemination," and, +concerning CD-ROMs, the importance of determining when it would be wise +to consider dissemination in CD-ROM versus networks. A shopping list of +issues pertaining to CD-ROMs included: the grounds for selecting +commercial publishers, and in-house publication where possible versus +nonprofit or government publication. A similar list for networks +included: determining when one should consider dissemination through a +network, identifying the mechanisms or entities that exist to place items +on networks, identifying the pool of existing networks, determining how a +producer would choose between networks, and identifying the elements of +a business arrangement in a network. + +Options for publishing in CD-ROM: an outside publisher versus +self-publication. If an outside publisher is used, it can be nonprofit, +such as the Government Printing Office (GPO) or the National Technical +Information Service (NTIS), in the case of government. The pros and cons +associated with employing an outside publisher are obvious. Among the +pros, there is no trouble getting accepted. One pays the bill and, in +effect, goes one's way. Among the cons, when one pays an outside +publisher to perform the work, that publisher will perform the work it is +obliged to do, but perhaps without the production expertise and skill in +marketing and dissemination that some would seek. There is the body of +commercial publishers that do possess that kind of expertise in +distribution and marketing but that obviously are selective. In +self-publication, one exercises full control, but then one must handle +matters such as distribution and marketing. Such are some of the options +for publishing in the case of CD-ROM. + +In the case of technical and design issues, which are also important, +there are many matters which many at the Workshop already knew a good +deal about: retrieval system requirements and costs, what to do about +images, the various capabilities and platforms, the trade-offs between +cost and performance, concerns about local-area networkability, +interoperability, etc. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LYNCH * Creating networked information is different from using networks +as an access or dissemination vehicle * Networked multimedia on a large +scale does not yet work * Typical CD-ROM publication model a two-edged +sword * Publishing information on a CD-ROM in the present world of +immature standards * Contrast between CD-ROM and network pricing * +Examples demonstrated earlier in the day as a set of insular information +gems * Paramount need to link databases * Layering to become increasingly +necessary * Project NEEDS and the issues of information reuse and active +versus passive use * X-Windows as a way of differentiating between +network access and networked information * Barriers to the distribution +of networked multimedia information * Need for good, real-time delivery +protocols * The question of presentation integrity in client-server +computing in the academic world * Recommendations for producing multimedia ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Clifford LYNCH, director, Library Automation, University of California, +opened his talk with the general observation that networked information +constituted a difficult and elusive topic because it is something just +starting to develop and not yet fully understood. LYNCH contended that +creating genuinely networked information was different from using +networks as an access or dissemination vehicle and was more sophisticated +and more subtle. He invited the members of the audience to extrapolate, +from what they heard about the preceding demonstration projects, to what +sort of a world of electronics information--scholarly, archival, +cultural, etc.--they wished to end up with ten or fifteen years from now. +LYNCH suggested that to extrapolate directly from these projects would +produce unpleasant results. + +Putting the issue of CD-ROM in perspective before getting into +generalities on networked information, LYNCH observed that those engaged +in multimedia today who wish to ship a product, so to say, probably do +not have much choice except to use CD-ROM: networked multimedia on a +large scale basically does not yet work because the technology does not +exist. For example, anybody who has tried moving images around over the +Internet knows that this is an exciting touch-and-go process, a +fascinating and fertile area for experimentation, research, and +development, but not something that one can become deeply enthusiastic +about committing to production systems at this time. + +This situation will change, LYNCH said. He differentiated CD-ROM from +the practices that have been followed up to now in distributing data on +CD-ROM. For LYNCH the problem with CD-ROM is not its portability or its +slowness but the two-edged sword of having the retrieval application and +the user interface inextricably bound up with the data, which is the +typical CD-ROM publication model. It is not a case of publishing data +but of distributing a typically stand-alone, typically closed system, +all--software, user interface, and data--on a little disk. Hence, all +the between-disk navigational issues as well as the impossibility in most +cases of integrating data on one disk with that on another. Most CD-ROM +retrieval software does not network very gracefully at present. However, +in the present world of immature standards and lack of understanding of +what network information is or what the ground rules are for creating or +using it, publishing information on a CD-ROM does add value in a very +real sense. + +LYNCH drew a contrast between CD-ROM and network pricing and in doing so +highlighted something bizarre in information pricing. A large +institution such as the University of California has vendors who will +offer to sell information on CD-ROM for a price per year in four digits, +but for the same data (e.g., an abstracting and indexing database) on +magnetic tape, regardless of how many people may use it concurrently, +will quote a price in six digits. + +What is packaged with the CD-ROM in one sense adds value--a complete +access system, not just raw, unrefined information--although it is not +generally perceived that way. This is because the access software, +although it adds value, is viewed by some people, particularly in the +university environment where there is a very heavy commitment to +networking, as being developed in the wrong direction. + +Given that context, LYNCH described the examples demonstrated as a set of +insular information gems--Perseus, for example, offers nicely linked +information, but would be very difficult to integrate with other +databases, that is, to link together seamlessly with other source files +from other sources. It resembles an island, and in this respect is +similar to numerous stand-alone projects that are based on videodiscs, +that is, on the single-workstation concept. + +As scholarship evolves in a network environment, the paramount need will +be to link databases. We must link personal databases to public +databases, to group databases, in fairly seamless ways--which is +extremely difficult in the environments under discussion with copies of +databases proliferating all over the place. + +The notion of layering also struck LYNCH as lurking in several of the +projects demonstrated. Several databases in a sense constitute +information archives without a significant amount of navigation built in. +Educators, critics, and others will want a layered structure--one that +defines or links paths through the layers to allow users to reach +specific points. In LYNCH's view, layering will become increasingly +necessary, and not just within a single resource but across resources +(e.g., tracing mythology and cultural themes across several classics +databases as well as a database of Renaissance culture). This ability to +organize resources, to build things out of multiple other things on the +network or select pieces of it, represented for LYNCH one of the key +aspects of network information. + +Contending that information reuse constituted another significant issue, +LYNCH commended to the audience's attention Project NEEDS (i.e., National +Engineering Education Delivery System). This project's objective is to +produce a database of engineering courseware as well as the components +that can be used to develop new courseware. In a number of the existing +applications, LYNCH said, the issue of reuse (how much one can take apart +and reuse in other applications) was not being well considered. He also +raised the issue of active versus passive use, one aspect of which is +how much information will be manipulated locally by users. Most people, +he argued, may do a little browsing and then will wish to print. LYNCH +was uncertain how these resources would be used by the vast majority of +users in the network environment. + +LYNCH next said a few words about X-Windows as a way of differentiating +between network access and networked information. A number of the +applications demonstrated at the Workshop could be rewritten to use X +across the network, so that one could run them from any X-capable device- +-a workstation, an X terminal--and transact with a database across the +network. Although this opens up access a little, assuming one has enough +network to handle it, it does not provide an interface to develop a +program that conveniently integrates information from multiple databases. +X is a viewing technology that has limits. In a real sense, it is just a +graphical version of remote log-in across the network. X-type applications +represent only one step in the progression towards real access. + +LYNCH next discussed barriers to the distribution of networked multimedia +information. The heart of the problem is a lack of standards to provide +the ability for computers to talk to each other, retrieve information, +and shuffle it around fairly casually. At the moment, little progress is +being made on standards for networked information; for example, present +standards do not cover images, digital voice, and digital video. A +useful tool kit of exchange formats for basic texts is only now being +assembled. The synchronization of content streams (i.e., synchronizing a +voice track to a video track, establishing temporal relations between +different components in a multimedia object) constitutes another issue +for networked multimedia that is just beginning to receive attention. + +Underlying network protocols also need some work; good, real-time +delivery protocols on the Internet do not yet exist. In LYNCH's view, +highly important in this context is the notion of networked digital +object IDs, the ability of one object on the network to point to another +object (or component thereof) on the network. Serious bandwidth issues +also exist. LYNCH was uncertain if billion-bit-per-second networks would +prove sufficient if numerous people ran video in parallel. + +LYNCH concluded by offering an issue for database creators to consider, +as well as several comments about what might constitute good trial +multimedia experiments. In a networked information world the database +builder or service builder (publisher) does not exercise the same +extensive control over the integrity of the presentation; strange +programs "munge" with one's data before the user sees it. Serious +thought must be given to what guarantees integrity of presentation. Part +of that is related to where one draws the boundaries around a networked +information service. This question of presentation integrity in +client-server computing has not been stressed enough in the academic +world, LYNCH argued, though commercial service providers deal with it +regularly. + +Concerning multimedia, LYNCH observed that good multimedia at the moment +is hideously expensive to produce. He recommended producing multimedia +with either very high sale value, or multimedia with a very long life +span, or multimedia that will have a very broad usage base and whose +costs therefore can be amortized among large numbers of users. In this +connection, historical and humanistically oriented material may be a good +place to start, because it tends to have a longer life span than much of +the scientific material, as well as a wider user base. LYNCH noted, for +example, that American Memory fits many of the criteria outlined. He +remarked the extensive discussion about bringing the Internet or the +National Research and Education Network (NREN) into the K-12 environment +as a way of helping the American educational system. + +LYNCH closed by noting that the kinds of applications demonstrated struck +him as excellent justifications of broad-scale networking for K-12, but +that at this time no "killer" application exists to mobilize the K-12 +community to obtain connectivity. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Dearth of genuinely interesting applications on the network +a slow-changing situation * The issue of the integrity of presentation in +a networked environment * Several reasons why CD-ROM software does not +network * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion period that followed LYNCH's presentation, several +additional points were made. + +LYNCH reiterated even more strongly his contention that, historically, +once one goes outside high-end science and the group of those who need +access to supercomputers, there is a great dearth of genuinely +interesting applications on the network. He saw this situation changing +slowly, with some of the scientific databases and scholarly discussion +groups and electronic journals coming on as well as with the availability +of Wide Area Information Servers (WAIS) and some of the databases that +are being mounted there. However, many of those things do not seem to +have piqued great popular interest. For instance, most high school +students of LYNCH's acquaintance would not qualify as devotees of serious +molecular biology. + +Concerning the issue of the integrity of presentation, LYNCH believed +that a couple of information providers have laid down the law at least on +certain things. For example, his recollection was that the National +Library of Medicine feels strongly that one needs to employ the +identifier field if he or she is to mount a database commercially. The +problem with a real networked environment is that one does not know who +is reformatting and reprocessing one's data when one enters a client +server mode. It becomes anybody's guess, for example, if the network +uses a Z39.50 server, or what clients are doing with one's data. A data +provider can say that his contract will only permit clients to have +access to his data after he vets them and their presentation and makes +certain it suits him. But LYNCH held out little expectation that the +network marketplace would evolve in that way, because it required too +much prior negotiation. + +CD-ROM software does not network for a variety of reasons, LYNCH said. +He speculated that CD-ROM publishers are not eager to have their products +really hook into wide area networks, because they fear it will make their +data suppliers nervous. Moreover, until relatively recently, one had to +be rather adroit to run a full TCP/IP stack plus applications on a +PC-size machine, whereas nowadays it is becoming easier as PCs grow +bigger and faster. LYNCH also speculated that software providers had not +heard from their customers until the last year or so, or had not heard +from enough of their customers. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BESSER * Implications of disseminating images on the network; planning +the distribution of multimedia documents poses two critical +implementation problems * Layered approach represents the way to deal +with users' capabilities * Problems in platform design; file size and its +implications for networking * Transmission of megabyte size images +impractical * Compression and decompression at the user's end * Promising +trends for compression * A disadvantage of using X-Windows * A project at +the Smithsonian that mounts images on several networks * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Howard BESSER, School of Library and Information Science, University of +Pittsburgh, spoke primarily about multimedia, focusing on images and the +broad implications of disseminating them on the network. He argued that +planning the distribution of multimedia documents posed two critical +implementation problems, which he framed in the form of two questions: +1) What platform will one use and what hardware and software will users +have for viewing of the material? and 2) How can one deliver a +sufficiently robust set of information in an accessible format in a +reasonable amount of time? Depending on whether network or CD-ROM is the +medium used, this question raises different issues of storage, +compression, and transmission. + +Concerning the design of platforms (e.g., sound, gray scale, simple +color, etc.) and the various capabilities users may have, BESSER +maintained that a layered approach was the way to deal with users' +capabilities. A result would be that users with less powerful +workstations would simply have less functionality. He urged members of +the audience to advocate standards and accompanying software that handle +layered functionality across a wide variety of platforms. + +BESSER also addressed problems in platform design, namely, deciding how +large a machine to design for situations when the largest number of users +have the lowest level of the machine, and one desires higher +functionality. BESSER then proceeded to the question of file size and +its implications for networking. He discussed still images in the main. +For example, a digital color image that fills the screen of a standard +mega-pel workstation (Sun or Next) will require one megabyte of storage +for an eight-bit image or three megabytes of storage for a true color or +twenty-four-bit image. Lossless compression algorithms (that is, +computational procedures in which no data is lost in the process of +compressing [and decompressing] an image--the exact bit-representation is +maintained) might bring storage down to a third of a megabyte per image, +but not much further than that. The question of size makes it difficult +to fit an appropriately sized set of these images on a single disk or to +transmit them quickly enough on a network. + +With these full screen mega-pel images that constitute a third of a +megabyte, one gets 1,000-3,000 full-screen images on a one-gigabyte disk; +a standard CD-ROM represents approximately 60 percent of that. Storing +images the size of a PC screen (just 8 bit color) increases storage +capacity to 4,000-12,000 images per gigabyte; 60 percent of that gives +one the size of a CD-ROM, which in turn creates a major problem. One +cannot have full-screen, full-color images with lossless compression; one +must compress them or use a lower resolution. For megabyte-size images, +anything slower than a T-1 speed is impractical. For example, on a +fifty-six-kilobaud line, it takes three minutes to transfer a +one-megabyte file, if it is not compressed; and this speed assumes ideal +circumstances (no other user contending for network bandwidth). Thus, +questions of disk access, remote display, and current telephone +connection speed make transmission of megabyte-size images impractical. + +BESSER then discussed ways to deal with these large images, for example, +compression and decompression at the user's end. In this connection, the +issues of how much one is willing to lose in the compression process and +what image quality one needs in the first place are unknown. But what is +known is that compression entails some loss of data. BESSER urged that +more studies be conducted on image quality in different situations, for +example, what kind of images are needed for what kind of disciplines, and +what kind of image quality is needed for a browsing tool, an intermediate +viewing tool, and archiving. + +BESSER remarked two promising trends for compression: from a technical +perspective, algorithms that use what is called subjective redundancy +employ principles from visual psycho-physics to identify and remove +information from the image that the human eye cannot perceive; from an +interchange and interoperability perspective, the JPEG (i.e., Joint +Photographic Experts Group, an ISO standard) compression algorithms also +offer promise. These issues of compression and decompression, BESSER +argued, resembled those raised earlier concerning the design of different +platforms. Gauging the capabilities of potential users constitutes a +primary goal. BESSER advocated layering or separating the images from +the applications that retrieve and display them, to avoid tying them to +particular software. + +BESSER detailed several lessons learned from his work at Berkeley with +Imagequery, especially the advantages and disadvantages of using +X-Windows. In the latter category, for example, retrieval is tied +directly to one's data, an intolerable situation in the long run on a +networked system. Finally, BESSER described a project of Jim Wallace at +the Smithsonian Institution, who is mounting images in a extremely +rudimentary way on the Compuserv and Genie networks and is preparing to +mount them on America On Line. Although the average user takes over +thirty minutes to download these images (assuming a fairly fast modem), +nevertheless, images have been downloaded 25,000 times. + +BESSER concluded his talk with several comments on the business +arrangement between the Smithsonian and Compuserv. He contended that not +enough is known concerning the value of images. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Creating digitized photographic collections nearly +impossible except with large organizations like museums * Need for study +to determine quality of images users will tolerate * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the brief exchange between LESK and BESSER that followed, several +clarifications emerged. + +LESK argued that the photographers were far ahead of BESSER: It is +almost impossible to create such digitized photographic collections +except with large organizations like museums, because all the +photographic agencies have been going crazy about this and will not sign +licensing agreements on any sort of reasonable terms. LESK had heard +that National Geographic, for example, had tried to buy the right to use +some image in some kind of educational production for $100 per image, but +the photographers will not touch it. They want accounting and payment +for each use, which cannot be accomplished within the system. BESSER +responded that a consortium of photographers, headed by a former National +Geographic photographer, had started assembling its own collection of +electronic reproductions of images, with the money going back to the +cooperative. + +LESK contended that BESSER was unnecessarily pessimistic about multimedia +images, because people are accustomed to low-quality images, particularly +from video. BESSER urged the launching of a study to determine what +users would tolerate, what they would feel comfortable with, and what +absolutely is the highest quality they would ever need. Conceding that +he had adopted a dire tone in order to arouse people about the issue, +BESSER closed on a sanguine note by saying that he would not be in this +business if he did not think that things could be accomplished. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LARSEN * Issues of scalability and modularity * Geometric growth of the +Internet and the role played by layering * Basic functions sustaining +this growth * A library's roles and functions in a network environment * +Effects of implementation of the Z39.50 protocol for information +retrieval on the library system * The trade-off between volumes of data +and its potential usage * A snapshot of current trends * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Ronald LARSEN, associate director for information technology, University +of Maryland at College Park, first addressed the issues of scalability +and modularity. He noted the difficulty of anticipating the effects of +orders-of-magnitude growth, reflecting on the twenty years of experience +with the Arpanet and Internet. Recalling the day's demonstrations of +CD-ROM and optical disk material, he went on to ask if the field has yet +learned how to scale new systems to enable delivery and dissemination +across large-scale networks. + +LARSEN focused on the geometric growth of the Internet from its inception +circa 1969 to the present, and the adjustments required to respond to +that rapid growth. To illustrate the issue of scalability, LARSEN +considered computer networks as including three generic components: +computers, network communication nodes, and communication media. Each +component scales (e.g., computers range from PCs to supercomputers; +network nodes scale from interface cards in a PC through sophisticated +routers and gateways; and communication media range from 2,400-baud +dial-up facilities through 4.5-Mbps backbone links, and eventually to +multigigabit-per-second communication lines), and architecturally, the +components are organized to scale hierarchically from local area networks +to international-scale networks. Such growth is made possible by +building layers of communication protocols, as BESSER pointed out. +By layering both physically and logically, a sense of scalability is +maintained from local area networks in offices, across campuses, through +bridges, routers, campus backbones, fiber-optic links, etc., up into +regional networks and ultimately into national and international +networks. + +LARSEN then illustrated the geometric growth over a two-year period-- +through September 1991--of the number of networks that comprise the +Internet. This growth has been sustained largely by the availability of +three basic functions: electronic mail, file transfer (ftp), and remote +log-on (telnet). LARSEN also reviewed the growth in the kind of traffic +that occurs on the network. Network traffic reflects the joint contributions +of a larger population of users and increasing use per user. Today one sees +serious applications involving moving images across the network--a rarity +ten years ago. LARSEN recalled and concurred with BESSER's main point +that the interesting problems occur at the application level. + +LARSEN then illustrated a model of a library's roles and functions in a +network environment. He noted, in particular, the placement of on-line +catalogues onto the network and patrons obtaining access to the library +increasingly through local networks, campus networks, and the Internet. +LARSEN supported LYNCH's earlier suggestion that we need to address +fundamental questions of networked information in order to build +environments that scale in the information sense as well as in the +physical sense. + +LARSEN supported the role of the library system as the access point into +the nation's electronic collections. Implementation of the Z39.50 +protocol for information retrieval would make such access practical and +feasible. For example, this would enable patrons in Maryland to search +California libraries, or other libraries around the world that are +conformant with Z39.50 in a manner that is familiar to University of +Maryland patrons. This client-server model also supports moving beyond +secondary content into primary content. (The notion of how one links +from secondary content to primary content, LARSEN said, represents a +fundamental problem that requires rigorous thought.) After noting +numerous network experiments in accessing full-text materials, including +projects supporting the ordering of materials across the network, LARSEN +revisited the issue of transmitting high-density, high-resolution color +images across the network and the large amounts of bandwidth they +require. He went on to address the bandwidth and synchronization +problems inherent in sending full-motion video across the network. + +LARSEN illustrated the trade-off between volumes of data in bytes or +orders of magnitude and the potential usage of that data. He discussed +transmission rates (particularly, the time it takes to move various forms +of information), and what one could do with a network supporting +multigigabit-per-second transmission. At the moment, the network +environment includes a composite of data-transmission requirements, +volumes and forms, going from steady to bursty (high-volume) and from +very slow to very fast. This aggregate must be considered in the design, +construction, and operation of multigigabyte networks. + +LARSEN's objective is to use the networks and library systems now being +constructed to increase access to resources wherever they exist, and +thus, to evolve toward an on-line electronic virtual library. + +LARSEN concluded by offering a snapshot of current trends: continuing +geometric growth in network capacity and number of users; slower +development of applications; and glacial development and adoption of +standards. The challenge is to design and develop each new application +system with network access and scalability in mind. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BROWNRIGG * Access to the Internet cannot be taken for granted * Packet +radio and the development of MELVYL in 1980-81 in the Division of Library +Automation at the University of California * Design criteria for packet +radio * A demonstration project in San Diego and future plans * Spread +spectrum * Frequencies at which the radios will run and plans to +reimplement the WAIS server software in the public domain * Need for an +infrastructure of radios that do not move around * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Edwin BROWNRIGG, executive director, Memex Research Institute, first +polled the audience in order to seek out regular users of the Internet as +well as those planning to use it some time in the future. With nearly +everybody in the room falling into one category or the other, BROWNRIGG +made a point re access, namely that numerous individuals, especially those +who use the Internet every day, take for granted their access to it, the +speeds with which they are connected, and how well it all works. +However, as BROWNRIGG discovered between 1987 and 1989 in Australia, +if one wants access to the Internet but cannot afford it or has some +physical boundary that prevents her or him from gaining access, it can +be extremely frustrating. He suggested that because of economics and +physical barriers we were beginning to create a world of haves and have-nots +in the process of scholarly communication, even in the United States. + +BROWNRIGG detailed the development of MELVYL in academic year 1980-81 in +the Division of Library Automation at the University of California, in +order to underscore the issue of access to the system, which at the +outset was extremely limited. In short, the project needed to build a +network, which at that time entailed use of satellite technology, that is, +putting earth stations on campus and also acquiring some terrestrial links +from the State of California's microwave system. The installation of +satellite links, however, did not solve the problem (which actually +formed part of a larger problem involving politics and financial resources). +For while the project team could get a signal onto a campus, it had no means +of distributing the signal throughout the campus. The solution involved +adopting a recent development in wireless communication called packet radio, +which combined the basic notion of packet-switching with radio. The project +used this technology to get the signal from a point on campus where it +came down, an earth station for example, into the libraries, because it +found that wiring the libraries, especially the older marble buildings, +would cost $2,000-$5,000 per terminal. + +BROWNRIGG noted that, ten years ago, the project had neither the public +policy nor the technology that would have allowed it to use packet radio +in any meaningful way. Since then much had changed. He proceeded to +detail research and development of the technology, how it is being +deployed in California, and what direction he thought it would take. +The design criteria are to produce a high-speed, one-time, low-cost, +high-quality, secure, license-free device (packet radio) that one can +plug in and play today, forget about it, and have access to the Internet. +By high speed, BROWNRIGG meant 1 megabyte and 1.5 megabytes. Those units +have been built, he continued, and are in the process of being +type-certified by an independent underwriting laboratory so that they can +be type-licensed by the Federal Communications Commission. As is the +case with citizens band, one will be able to purchase a unit and not have +to worry about applying for a license. + +The basic idea, BROWNRIGG elaborated, is to take high-speed radio data +transmission and create a backbone network that at certain strategic +points in the network will "gateway" into a medium-speed packet radio +(i.e., one that runs at 38.4 kilobytes), so that perhaps by 1994-1995 +people, like those in the audience for the price of a VCR could purchase +a medium-speed radio for the office or home, have full network connectivity +to the Internet, and partake of all its services, with no need for an FCC +license and no regular bill from the local common carrier. BROWNRIGG +presented several details of a demonstration project currently taking +place in San Diego and described plans, pending funding, to install a +full-bore network in the San Francisco area. This network will have 600 +nodes running at backbone speeds, and 100 of these nodes will be libraries, +which in turn will be the gateway ports to the 38.4 kilobyte radios that +will give coverage for the neighborhoods surrounding the libraries. + +BROWNRIGG next explained Part 15.247, a new rule within Title 47 of the +Code of Federal Regulations enacted by the FCC in 1985. This rule +challenged the industry, which has only now risen to the occasion, to +build a radio that would run at no more than one watt of output power and +use a fairly exotic method of modulating the radio wave called spread +spectrum. Spread spectrum in fact permits the building of networks so +that numerous data communications can occur simultaneously, without +interfering with each other, within the same wide radio channel. + +BROWNRIGG explained that the frequencies at which the radios would run +are very short wave signals. They are well above standard microwave and +radar. With a radio wave that small, one watt becomes a tremendous punch +per bit and thus makes transmission at reasonable speed possible. In +order to minimize the potential for congestion, the project is +undertaking to reimplement software which has been available in the +networking business and is taken for granted now, for example, TCP/IP, +routing algorithms, bridges, and gateways. In addition, the project +plans to take the WAIS server software in the public domain and +reimplement it so that one can have a WAIS server on a Mac instead of a +Unix machine. The Memex Research Institute believes that libraries, in +particular, will want to use the WAIS servers with packet radio. This +project, which has a team of about twelve people, will run through 1993 +and will include the 100 libraries already mentioned as well as other +professionals such as those in the medical profession, engineering, and +law. Thus, the need is to create an infrastructure of radios that do not +move around, which, BROWNRIGG hopes, will solve a problem not only for +libraries but for individuals who, by and large today, do not have access +to the Internet from their homes and offices. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Project operating frequencies * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During a brief discussion period, which also concluded the day's +proceedings, BROWNRIGG stated that the project was operating in four +frequencies. The slow speed is operating at 435 megahertz, and it would +later go up to 920 megahertz. With the high-speed frequency, the +one-megabyte radios will run at 2.4 gigabits, and 1.5 will run at 5.7. +At 5.7, rain can be a factor, but it would have to be tropical rain, +unlike what falls in most parts of the United States. + + ****** + +SESSION IV. IMAGE CAPTURE, TEXT CAPTURE, OVERVIEW OF TEXT AND + IMAGE STORAGE FORMATS + +William HOOTON, vice president of operations, I-NET, moderated this session. + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +KENNEY * Factors influencing development of CXP * Advantages of using +digital technology versus photocopy and microfilm * A primary goal of +CXP; publishing challenges * Characteristics of copies printed * Quality +of samples achieved in image capture * Several factors to be considered +in choosing scanning * Emphasis of CXP on timely and cost-effective +production of black-and-white printed facsimiles * Results of producing +microfilm from digital files * Advantages of creating microfilm * Details +concerning production * Costs * Role of digital technology in library +preservation * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Anne KENNEY, associate director, Department of Preservation and +Conservation, Cornell University, opened her talk by observing that the +Cornell Xerox Project (CXP) has been guided by the assumption that the +ability to produce printed facsimiles or to replace paper with paper +would be important, at least for the present generation of users and +equipment. She described three factors that influenced development of +the project: 1) Because the project has emphasized the preservation of +deteriorating brittle books, the quality of what was produced had to be +sufficiently high to return a paper replacement to the shelf. CXP was +only interested in using: 2) a system that was cost-effective, which +meant that it had to be cost-competitive with the processes currently +available, principally photocopy and microfilm, and 3) new or currently +available product hardware and software. + +KENNEY described the advantages that using digital technology offers over +both photocopy and microfilm: 1) The potential exists to create a higher +quality reproduction of a deteriorating original than conventional +light-lens technology. 2) Because a digital image is an encoded +representation, it can be reproduced again and again with no resulting +loss of quality, as opposed to the situation with light-lens processes, +in which there is discernible difference between a second and a +subsequent generation of an image. 3) A digital image can be manipulated +in a number of ways to improve image capture; for example, Xerox has +developed a windowing application that enables one to capture a page +containing both text and illustrations in a manner that optimizes the +reproduction of both. (With light-lens technology, one must choose which +to optimize, text or the illustration; in preservation microfilming, the +current practice is to shoot an illustrated page twice, once to highlight +the text and the second time to provide the best capture for the +illustration.) 4) A digital image can also be edited, density levels +adjusted to remove underlining and stains, and to increase legibility for +faint documents. 5) On-screen inspection can take place at the time of +initial setup and adjustments made prior to scanning, factors that +substantially reduce the number of retakes required in quality control. + +A primary goal of CXP has been to evaluate the paper output printed on +the Xerox DocuTech, a high-speed printer that produces 600-dpi pages from +scanned images at a rate of 135 pages a minute. KENNEY recounted several +publishing challenges to represent faithful and legible reproductions of +the originals that the 600-dpi copy for the most part successfully +captured. For example, many of the deteriorating volumes in the project +were heavily illustrated with fine line drawings or halftones or came in +languages such as Japanese, in which the buildup of characters comprised +of varying strokes is difficult to reproduce at lower resolutions; a +surprising number of them came with annotations and mathematical +formulas, which it was critical to be able to duplicate exactly. + +KENNEY noted that 1) the copies are being printed on paper that meets the +ANSI standards for performance, 2) the DocuTech printer meets the machine +and toner requirements for proper adhesion of print to page, as described +by the National Archives, and thus 3) paper product is considered to be +the archival equivalent of preservation photocopy. + +KENNEY then discussed several samples of the quality achieved in the +project that had been distributed in a handout, for example, a copy of a +print-on-demand version of the 1911 Reed lecture on the steam turbine, +which contains halftones, line drawings, and illustrations embedded in +text; the first four loose pages in the volume compared the capture +capabilities of scanning to photocopy for a standard test target, the +IEEE standard 167A 1987 test chart. In all instances scanning proved +superior to photocopy, though only slightly more so in one. + +Conceding the simplistic nature of her review of the quality of scanning +to photocopy, KENNEY described it as one representation of the kinds of +settings that could be used with scanning capabilities on the equipment +CXP uses. KENNEY also pointed out that CXP investigated the quality +achieved with binary scanning only, and noted the great promise in gray +scale and color scanning, whose advantages and disadvantages need to be +examined. She argued further that scanning resolutions and file formats +can represent a complex trade-off between the time it takes to capture +material, file size, fidelity to the original, and on-screen display; and +printing and equipment availability. All these factors must be taken +into consideration. + +CXP placed primary emphasis on the production in a timely and +cost-effective manner of printed facsimiles that consisted largely of +black-and-white text. With binary scanning, large files may be +compressed efficiently and in a lossless manner (i.e., no data is lost in +the process of compressing [and decompressing] an image--the exact +bit-representation is maintained) using Group 4 CCITT (i.e., the French +acronym for International Consultative Committee for Telegraph and +Telephone) compression. CXP was getting compression ratios of about +forty to one. Gray-scale compression, which primarily uses JPEG, is much +less economical and can represent a lossy compression (i.e., not +lossless), so that as one compresses and decompresses, the illustration +is subtly changed. While binary files produce a high-quality printed +version, it appears 1) that other combinations of spatial resolution with +gray and/or color hold great promise as well, and 2) that gray scale can +represent a tremendous advantage for on-screen viewing. The quality +associated with binary and gray scale also depends on the equipment used. +For instance, binary scanning produces a much better copy on a binary +printer. + +Among CXP's findings concerning the production of microfilm from digital +files, KENNEY reported that the digital files for the same Reed lecture +were used to produce sample film using an electron beam recorder. The +resulting film was faithful to the image capture of the digital files, +and while CXP felt that the text and image pages represented in the Reed +lecture were superior to that of the light-lens film, the resolution +readings for the 600 dpi were not as high as standard microfilming. +KENNEY argued that the standards defined for light-lens technology are +not totally transferable to a digital environment. Moreover, they are +based on definition of quality for a preservation copy. Although making +this case will prove to be a long, uphill struggle, CXP plans to continue +to investigate the issue over the course of the next year. + +KENNEY concluded this portion of her talk with a discussion of the +advantages of creating film: it can serve as a primary backup and as a +preservation master to the digital file; it could then become the print +or production master and service copies could be paper, film, optical +disks, magnetic media, or on-screen display. + +Finally, KENNEY presented details re production: + + * Development and testing of a moderately-high resolution production + scanning workstation represented a third goal of CXP; to date, 1,000 + volumes have been scanned, or about 300,000 images. + + * The resulting digital files are stored and used to produce + hard-copy replacements for the originals and additional prints on + demand; although the initial costs are high, scanning technology + offers an affordable means for reformatting brittle material. + + * A technician in production mode can scan 300 pages per hour when + performing single-sheet scanning, which is a necessity when working + with truly brittle paper; this figure is expected to increase + significantly with subsequent iterations of the software from Xerox; + a three-month time-and-cost study of scanning found that the average + 300-page book would take about an hour and forty minutes to scan + (this figure included the time for setup, which involves keying in + primary bibliographic data, going into quality control mode to + define page size, establishing front-to-back registration, and + scanning sample pages to identify a default range of settings for + the entire book--functions not dissimilar to those performed by + filmers or those preparing a book for photocopy). + + * The final step in the scanning process involved rescans, which + happily were few and far between, representing well under 1 percent + of the total pages scanned. + +In addition to technician time, CXP costed out equipment, amortized over +four years, the cost of storing and refreshing the digital files every +four years, and the cost of printing and binding, book-cloth binding, a +paper reproduction. The total amounted to a little under $65 per single +300-page volume, with 30 percent overhead included--a figure competitive +with the prices currently charged by photocopy vendors. + +Of course, with scanning, in addition to the paper facsimile, one is left +with a digital file from which subsequent copies of the book can be +produced for a fraction of the cost of photocopy, with readers afforded +choices in the form of these copies. + +KENNEY concluded that digital technology offers an electronic means for a +library preservation effort to pay for itself. If a brittle-book program +included the means of disseminating reprints of books that are in demand +by libraries and researchers alike, the initial investment in capture +could be recovered and used to preserve additional but less popular +books. She disclosed that an economic model for a self-sustaining +program could be developed for CXP's report to the Commission on +Preservation and Access (CPA). + +KENNEY stressed that the focus of CXP has been on obtaining high quality +in a production environment. The use of digital technology is viewed as +an affordable alternative to other reformatting options. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ANDRE * Overview and history of NATDP * Various agricultural CD-ROM +products created inhouse and by service bureaus * Pilot project on +Internet transmission * Additional products in progress * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Pamela ANDRE, associate director for automation, National Agricultural +Text Digitizing Program (NATDP), National Agricultural Library (NAL), +presented an overview of NATDP, which has been underway at NAL the last +four years, before Judith ZIDAR discussed the technical details. ANDRE +defined agricultural information as a broad range of material going from +basic and applied research in the hard sciences to the one-page pamphlets +that are distributed by the cooperative state extension services on such +things as how to grow blueberries. + +NATDP began in late 1986 with a meeting of representatives from the +land-grant library community to deal with the issue of electronic +information. NAL and forty-five of these libraries banded together to +establish this project--to evaluate the technology for converting what +were then source documents in paper form into electronic form, to provide +access to that digital information, and then to distribute it. +Distributing that material to the community--the university community as +well as the extension service community, potentially down to the county +level--constituted the group's chief concern. + +Since January 1988 (when the microcomputer-based scanning system was +installed at NAL), NATDP has done a variety of things, concerning which +ZIDAR would provide further details. For example, the first technology +considered in the project's discussion phase was digital videodisc, which +indicates how long ago it was conceived. + +Over the four years of this project, four separate CD-ROM products on +four different agricultural topics were created, two at a +scanning-and-OCR station installed at NAL, and two by service bureaus. +Thus, NATDP has gained comparative information in terms of those relative +costs. Each of these products contained the full ASCII text as well as +page images of the material, or between 4,000 and 6,000 pages of material +on these disks. Topics included aquaculture, food, agriculture and +science (i.e., international agriculture and research), acid rain, and +Agent Orange, which was the final product distributed (approximately +eighteen months before the Workshop). + +The third phase of NATDP focused on delivery mechanisms other than +CD-ROM. At the suggestion of Clifford LYNCH, who was a technical +consultant to the project at this point, NATDP became involved with the +Internet and initiated a project with the help of North Carolina State +University, in which fourteen of the land-grant university libraries are +transmitting digital images over the Internet in response to interlibrary +loan requests--a topic for another meeting. At this point, the pilot +project had been completed for about a year and the final report would be +available shortly after the Workshop. In the meantime, the project's +success had led to its extension. (ANDRE noted that one of the first +things done under the program title was to select a retrieval package to +use with subsequent products; Windows Personal Librarian was the package +of choice after a lengthy evaluation.) + +Three additional products had been planned and were in progress: + + 1) An arrangement with the American Society of Agronomy--a + professional society that has published the Agronomy Journal since + about 1908--to scan and create bit-mapped images of its journal. + ASA granted permission first to put and then to distribute this + material in electronic form, to hold it at NAL, and to use these + electronic images as a mechanism to deliver documents or print out + material for patrons, among other uses. Effectively, NAL has the + right to use this material in support of its program. + (Significantly, this arrangement offers a potential cooperative + model for working with other professional societies in agriculture + to try to do the same thing--put the journals of particular interest + to agriculture research into electronic form.) + + 2) An extension of the earlier product on aquaculture. + + 3) The George Washington Carver Papers--a joint project with + Tuskegee University to scan and convert from microfilm some 3,500 + images of Carver's papers, letters, and drawings. + +It was anticipated that all of these products would appear no more than +six months after the Workshop. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZIDAR * (A separate arena for scanning) * Steps in creating a database * +Image capture, with and without performing OCR * Keying in tracking data +* Scanning, with electronic and manual tracking * Adjustments during +scanning process * Scanning resolutions * Compression * De-skewing and +filtering * Image capture from microform: the papers and letters of +George Washington Carver * Equipment used for a scanning system * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program +(NATDP), National Agricultural Library (NAL), illustrated the technical +details of NATDP, including her primary responsibility, scanning and +creating databases on a topic and putting them on CD-ROM. + +(ZIDAR remarked a separate arena from the CD-ROM projects, although the +processing of the material is nearly identical, in which NATDP is also +scanning material and loading it on a Next microcomputer, which in turn +is linked to NAL's integrated library system. Thus, searches in NAL's +bibliographic database will enable people to pull up actual page images +and text for any documents that have been entered.) + +In accordance with the session's topic, ZIDAR focused her illustrated +talk on image capture, offering a primer on the three main steps in the +process: 1) assemble the printed publications; 2) design the database +(database design occurs in the process of preparing the material for +scanning; this step entails reviewing and organizing the material, +defining the contents--what will constitute a record, what kinds of +fields will be captured in terms of author, title, etc.); 3) perform a +certain amount of markup on the paper publications. NAL performs this +task record by record, preparing work sheets or some other sort of +tracking material and designing descriptors and other enhancements to be +added to the data that will not be captured from the printed publication. +Part of this process also involves determining NATDP's file and directory +structure: NATDP attempts to avoid putting more than approximately 100 +images in a directory, because placing more than that on a CD-ROM would +reduce the access speed. + +This up-front process takes approximately two weeks for a +6,000-7,000-page database. The next step is to capture the page images. +How long this process takes is determined by the decision whether or not +to perform OCR. Not performing OCR speeds the process, whereas text +capture requires greater care because of the quality of the image: it +has to be straighter and allowance must be made for text on a page, not +just for the capture of photographs. + +NATDP keys in tracking data, that is, a standard bibliographic record +including the title of the book and the title of the chapter, which will +later either become the access information or will be attached to the +front of a full-text record so that it is searchable. + +Images are scanned from a bound or unbound publication, chiefly from +bound publications in the case of NATDP, however, because often they are +the only copies and the publications are returned to the shelves. NATDP +usually scans one record at a time, because its database tracking system +tracks the document in that way and does not require further logical +separating of the images. After performing optical character +recognition, NATDP moves the images off the hard disk and maintains a +volume sheet. Though the system tracks electronically, all the +processing steps are also tracked manually with a log sheet. + +ZIDAR next illustrated the kinds of adjustments that one can make when +scanning from paper and microfilm, for example, redoing images that need +special handling, setting for dithering or gray scale, and adjusting for +brightness or for the whole book at one time. + +NATDP is scanning at 300 dots per inch, a standard scanning resolution. +Though adequate for capturing text that is all of a standard size, 300 +dpi is unsuitable for any kind of photographic material or for very small +text. Many scanners allow for different image formats, TIFF, of course, +being a de facto standard. But if one intends to exchange images with +other people, the ability to scan other image formats, even if they are +less common, becomes highly desirable. + +CCITT Group 4 is the standard compression for normal black-and-white +images, JPEG for gray scale or color. ZIDAR recommended 1) using the +standard compressions, particularly if one attempts to make material +available and to allow users to download images and reuse them from +CD-ROMs; and 2) maintaining the ability to output an uncompressed image, +because in image exchange uncompressed images are more likely to be able +to cross platforms. + +ZIDAR emphasized the importance of de-skewing and filtering as +requirements on NATDP's upgraded system. For instance, scanning bound +books, particularly books published by the federal government whose pages +are skewed, and trying to scan them straight if OCR is to be performed, +is extremely time-consuming. The same holds for filtering of +poor-quality or older materials. + +ZIDAR described image capture from microform, using as an example three +reels from a sixty-seven-reel set of the papers and letters of George +Washington Carver that had been produced by Tuskegee University. These +resulted in approximately 3,500 images, which NATDP had had scanned by +its service contractor, Science Applications International Corporation +(SAIC). NATDP also created bibliographic records for access. (NATDP did +not have such specialized equipment as a microfilm scanner. + +Unfortunately, the process of scanning from microfilm was not an +unqualified success, ZIDAR reported: because microfilm frame sizes vary, +occasionally some frames were missed, which without spending much time +and money could not be recaptured. + +OCR could not be performed from the scanned images of the frames. The +bleeding in the text simply output text, when OCR was run, that could not +even be edited. NATDP tested for negative versus positive images, +landscape versus portrait orientation, and single- versus dual-page +microfilm, none of which seemed to affect the quality of the image; but +also on none of them could OCR be performed. + +In selecting the microfilm they would use, therefore, NATDP had other +factors in mind. ZIDAR noted two factors that influenced the quality of +the images: 1) the inherent quality of the original and 2) the amount of +size reduction on the pages. + +The Carver papers were selected because they are informative and visually +interesting, treat a single subject, and are valuable in their own right. +The images were scanned and divided into logical records by SAIC, then +delivered, and loaded onto NATDP's system, where bibliographic +information taken directly from the images was added. Scanning was +completed in summer 1991 and by the end of summer 1992 the disk was +scheduled to be published. + +Problems encountered during processing included the following: Because +the microfilm scanning had to be done in a batch, adjustment for +individual page variations was not possible. The frame size varied on +account of the nature of the material, and therefore some of the frames +were missed while others were just partial frames. The only way to go +back and capture this material was to print out the page with the +microfilm reader from the missing frame and then scan it in from the +page, which was extremely time-consuming. The quality of the images +scanned from the printout of the microfilm compared unfavorably with that +of the original images captured directly from the microfilm. The +inability to perform OCR also was a major disappointment. At the time, +computer output microfilm was unavailable to test. + +The equipment used for a scanning system was the last topic addressed by +ZIDAR. The type of equipment that one would purchase for a scanning +system included: a microcomputer, at least a 386, but preferably a 486; +a large hard disk, 380 megabyte at minimum; a multi-tasking operating +system that allows one to run some things in batch in the background +while scanning or doing text editing, for example, Unix or OS/2 and, +theoretically, Windows; a high-speed scanner and scanning software that +allows one to make the various adjustments mentioned earlier; a +high-resolution monitor (150 dpi ); OCR software and hardware to perform +text recognition; an optical disk subsystem on which to archive all the +images as the processing is done; file management and tracking software. + +ZIDAR opined that the software one purchases was more important than the +hardware and might also cost more than the hardware, but it was likely to +prove critical to the success or failure of one's system. In addition to +a stand-alone scanning workstation for image capture, then, text capture +requires one or two editing stations networked to this scanning station +to perform editing. Editing the text takes two or three times as long as +capturing the images. + +Finally, ZIDAR stressed the importance of buying an open system that allows +for more than one vendor, complies with standards, and can be upgraded. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +WATERS *Yale University Library's master plan to convert microfilm to +digital imagery (POB) * The place of electronic tools in the library of +the future * The uses of images and an image library * Primary input from +preservation microfilm * Features distinguishing POB from CXP and key +hypotheses guiding POB * Use of vendor selection process to facilitate +organizational work * Criteria for selecting vendor * Finalists and +results of process for Yale * Key factor distinguishing vendors * +Components, design principles, and some estimated costs of POB * Role of +preservation materials in developing imaging market * Factors affecting +quality and cost * Factors affecting the usability of complex documents +in image form * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Donald WATERS, head of the Systems Office, Yale University Library, +reported on the progress of a master plan for a project at Yale to +convert microfilm to digital imagery, Project Open Book (POB). Stating +that POB was in an advanced stage of planning, WATERS detailed, in +particular, the process of selecting a vendor partner and several key +issues under discussion as Yale prepares to move into the project itself. +He commented first on the vision that serves as the context of POB and +then described its purpose and scope. + +WATERS sees the library of the future not necessarily as an electronic +library but as a place that generates, preserves, and improves for its +clients ready access to both intellectual and physical recorded +knowledge. Electronic tools must find a place in the library in the +context of this vision. Several roles for electronic tools include +serving as: indirect sources of electronic knowledge or as "finding" +aids (the on-line catalogues, the article-level indices, registers for +documents and archives); direct sources of recorded knowledge; full-text +images; and various kinds of compound sources of recorded knowledge (the +so-called compound documents of Hypertext, mixed text and image, +mixed-text image format, and multimedia). + +POB is looking particularly at images and an image library, the uses to +which images will be put (e.g., storage, printing, browsing, and then use +as input for other processes), OCR as a subsequent process to image +capture, or creating an image library, and also possibly generating +microfilm. + +While input will come from a variety of sources, POB is considering +especially input from preservation microfilm. A possible outcome is that +the film and paper which provide the input for the image library +eventually may go off into remote storage, and that the image library may +be the primary access tool. + +The purpose and scope of POB focus on imaging. Though related to CXP, +POB has two features which distinguish it: 1) scale--conversion of +10,000 volumes into digital image form; and 2) source--conversion from +microfilm. Given these features, several key working hypotheses guide +POB, including: 1) Since POB is using microfilm, it is not concerned with +the image library as a preservation medium. 2) Digital imagery can improve +access to recorded knowledge through printing and network distribution at +a modest incremental cost of microfilm. 3) Capturing and storing documents +in a digital image form is necessary to further improvements in access. +(POB distinguishes between the imaging, digitizing process and OCR, +which at this stage it does not plan to perform.) + +Currently in its first or organizational phase, POB found that it could +use a vendor selection process to facilitate a good deal of the +organizational work (e.g., creating a project team and advisory board, +confirming the validity of the plan, establishing the cost of the project +and a budget, selecting the materials to convert, and then raising the +necessary funds). + +POB developed numerous selection criteria, including: a firm committed +to image-document management, the ability to serve as systems integrator +in a large-scale project over several years, interest in developing the +requisite software as a standard rather than a custom product, and a +willingness to invest substantial resources in the project itself. + +Two vendors, DEC and Xerox, were selected as finalists in October 1991, +and with the support of the Commission on Preservation and Access, each +was commissioned to generate a detailed requirements analysis for the +project and then to submit a formal proposal for the completion of the +project, which included a budget and costs. The terms were that POB would +pay the loser. The results for Yale of involving a vendor included: +broad involvement of Yale staff across the board at a relatively low +cost, which may have long-term significance in carrying out the project +(twenty-five to thirty university people are engaged in POB); better +understanding of the factors that affect corporate response to markets +for imaging products; a competitive proposal; and a more sophisticated +view of the imaging markets. + +The most important factor that distinguished the vendors under +consideration was their identification with the customer. The size and +internal complexity of the company also was an important factor. POB was +looking at large companies that had substantial resources. In the end, +the process generated for Yale two competitive proposals, with Xerox's +the clear winner. WATERS then described the components of the proposal, +the design principles, and some of the costs estimated for the process. + +Components are essentially four: a conversion subsystem, a +network-accessible storage subsystem for 10,000 books (and POB expects +200 to 600 dpi storage), browsing stations distributed on the campus +network, and network access to the image printers. + +Among the design principles, POB wanted conversion at the highest +possible resolution. Assuming TIFF files, TIFF files with Group 4 +compression, TCP/IP, and ethernet network on campus, POB wanted a +client-server approach with image documents distributed to the +workstations and made accessible through native workstation interfaces +such as Windows. POB also insisted on a phased approach to +implementation: 1) a stand-alone, single-user, low-cost entry into the +business with a workstation focused on conversion and allowing POB to +explore user access; 2) movement into a higher-volume conversion with +network-accessible storage and multiple access stations; and 3) a +high-volume conversion, full-capacity storage, and multiple browsing +stations distributed throughout the campus. + +The costs proposed for start-up assumed the existence of the Yale network +and its two DocuTech image printers. Other start-up costs are estimated +at $1 million over the three phases. At the end of the project, the annual +operating costs estimated primarily for the software and hardware proposed +come to about $60,000, but these exclude costs for labor needed in the +conversion process, network and printer usage, and facilities management. + +Finally, the selection process produced for Yale a more sophisticated +view of the imaging markets: the management of complex documents in +image form is not a preservation problem, not a library problem, but a +general problem in a broad, general industry. Preservation materials are +useful for developing that market because of the qualities of the +material. For example, much of it is out of copyright. The resolution +of key issues such as the quality of scanning and image browsing also +will affect development of that market. + +The technology is readily available but changing rapidly. In this +context of rapid change, several factors affect quality and cost, to +which POB intends to pay particular attention, for example, the various +levels of resolution that can be achieved. POB believes it can bring +resolution up to 600 dpi, but an interpolation process from 400 to 600 is +more likely. The variation quality in microfilm will prove to be a +highly important factor. POB may reexamine the standards used to film in +the first place by looking at this process as a follow-on to microfilming. + +Other important factors include: the techniques available to the +operator for handling material, the ways of integrating quality control +into the digitizing work flow, and a work flow that includes indexing and +storage. POB's requirement was to be able to deal with quality control +at the point of scanning. Thus, thanks to Xerox, POB anticipates having +a mechanism which will allow it not only to scan in batch form, but to +review the material as it goes through the scanner and control quality +from the outset. + +The standards for measuring quality and costs depend greatly on the uses +of the material, including subsequent OCR, storage, printing, and +browsing. But especially at issue for POB is the facility for browsing. +This facility, WATERS said, is perhaps the weakest aspect of imaging +technology and the most in need of development. + +A variety of factors affect the usability of complex documents in image +form, among them: 1) the ability of the system to handle the full range +of document types, not just monographs but serials, multi-part +monographs, and manuscripts; 2) the location of the database of record +for bibliographic information about the image document, which POB wants +to enter once and in the most useful place, the on-line catalog; 3) a +document identifier for referencing the bibliographic information in one +place and the images in another; 4) the technique for making the basic +internal structure of the document accessible to the reader; and finally, +5) the physical presentation on the CRT of those documents. POB is ready +to complete this phase now. One last decision involves deciding which +material to scan. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * TIFF files constitute de facto standard * NARA's experience +with image conversion software and text conversion * RFC 1314 * +Considerable flux concerning available hardware and software solutions * +NAL through-put rate during scanning * Window management questions * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In the question-and-answer period that followed WATERS's presentation, +the following points emerged: + + * ZIDAR's statement about using TIFF files as a standard meant de + facto standard. This is what most people use and typically exchange + with other groups, across platforms, or even occasionally across + display software. + + * HOLMES commented on the unsuccessful experience of NARA in + attempting to run image-conversion software or to exchange between + applications: What are supposedly TIFF files go into other software + that is supposed to be able to accept TIFF but cannot recognize the + format and cannot deal with it, and thus renders the exchange + useless. Re text conversion, he noted the different recognition + rates obtained by substituting the make and model of scanners in + NARA's recent test of an "intelligent" character-recognition product + for a new company. In the selection of hardware and software, + HOLMES argued, software no longer constitutes the overriding factor + it did until about a year ago; rather it is perhaps important to + look at both now. + + * Danny Cohen and Alan Katz of the University of Southern California + Information Sciences Institute began circulating as an Internet RFC + (RFC 1314) about a month ago a standard for a TIFF interchange + format for Internet distribution of monochrome bit-mapped images, + which LYNCH said he believed would be used as a de facto standard. + + * FLEISCHHAUER's impression from hearing these reports and thinking + about AM's experience was that there is considerable flux concerning + available hardware and software solutions. HOOTON agreed and + commented at the same time on ZIDAR's statement that the equipment + employed affects the results produced. One cannot draw a complete + conclusion by saying it is difficult or impossible to perform OCR + from scanning microfilm, for example, with that device, that set of + parameters, and system requirements, because numerous other people + are accomplishing just that, using other components, perhaps. + HOOTON opined that both the hardware and the software were highly + important. Most of the problems discussed today have been solved in + numerous different ways by other people. Though it is good to be + cognizant of various experiences, this is not to say that it will + always be thus. + + * At NAL, the through-put rate of the scanning process for paper, + page by page, performing OCR, ranges from 300 to 600 pages per day; + not performing OCR is considerably faster, although how much faster + is not known. This is for scanning from bound books, which is much + slower. + + * WATERS commented on window management questions: DEC proposed an + X-Windows solution which was problematical for two reasons. One was + POB's requirement to be able to manipulate images on the workstation + and bring them down to the workstation itself and the other was + network usage. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +THOMA * Illustration of deficiencies in scanning and storage process * +Image quality in this process * Different costs entailed by better image +quality * Techniques for overcoming various de-ficiencies: fixed +thresholding, dynamic thresholding, dithering, image merge * Page edge +effects * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +George THOMA, chief, Communications Engineering Branch, National Library +of Medicine (NLM), illustrated several of the deficiencies discussed by +the previous speakers. He introduced the topic of special problems by +noting the advantages of electronic imaging. For example, it is regenerable +because it is a coded file, and real-time quality control is possible with +electronic capture, whereas in photographic capture it is not. + +One of the difficulties discussed in the scanning and storage process was +image quality which, without belaboring the obvious, means different +things for maps, medical X-rays, or broadcast television. In the case of +documents, THOMA said, image quality boils down to legibility of the +textual parts, and fidelity in the case of gray or color photo print-type +material. Legibility boils down to scan density, the standard in most +cases being 300 dpi. Increasing the resolution with scanners that +perform 600 or 1200 dpi, however, comes at a cost. + +Better image quality entails at least four different kinds of costs: 1) +equipment costs, because the CCD (i.e., charge-couple device) with +greater number of elements costs more; 2) time costs that translate to +the actual capture costs, because manual labor is involved (the time is +also dependent on the fact that more data has to be moved around in the +machine in the scanning or network devices that perform the scanning as +well as the storage); 3) media costs, because at high resolutions larger +files have to be stored; and 4) transmission costs, because there is just +more data to be transmitted. + +But while resolution takes care of the issue of legibility in image +quality, other deficiencies have to do with contrast and elements on the +page scanned or the image that needed to be removed or clarified. Thus, +THOMA proceeded to illustrate various deficiencies, how they are +manifested, and several techniques to overcome them. + +Fixed thresholding was the first technique described, suitable for +black-and-white text, when the contrast does not vary over the page. One +can have many different threshold levels in scanning devices. Thus, +THOMA offered an example of extremely poor contrast, which resulted from +the fact that the stock was a heavy red. This is the sort of image that +when microfilmed fails to provide any legibility whatsoever. Fixed +thresholding is the way to change the black-to-red contrast to the +desired black-to-white contrast. + +Other examples included material that had been browned or yellowed by +age. This was also a case of contrast deficiency, and correction was +done by fixed thresholding. A final example boils down to the same +thing, slight variability, but it is not significant. Fixed thresholding +solves this problem as well. The microfilm equivalent is certainly legible, +but it comes with dark areas. Though THOMA did not have a slide of the +microfilm in this case, he did show the reproduced electronic image. + +When one has variable contrast over a page or the lighting over the page +area varies, especially in the case where a bound volume has light +shining on it, the image must be processed by a dynamic thresholding +scheme. One scheme, dynamic averaging, allows the threshold level not to +be fixed but to be recomputed for every pixel from the neighboring +characteristics. The neighbors of a pixel determine where the threshold +should be set for that pixel. + +THOMA showed an example of a page that had been made deficient by a +variety of techniques, including a burn mark, coffee stains, and a yellow +marker. Application of a fixed-thresholding scheme, THOMA argued, might +take care of several deficiencies on the page but not all of them. +Performing the calculation for a dynamic threshold setting, however, +removes most of the deficiencies so that at least the text is legible. + +Another problem is representing a gray level with black-and-white pixels +by a process known as dithering or electronic screening. But dithering +does not provide good image quality for pure black-and-white textual +material. THOMA illustrated this point with examples. Although its +suitability for photoprint is the reason for electronic screening or +dithering, it cannot be used for every compound image. In the document +that was distributed by CXP, THOMA noticed that the dithered image of the +IEEE test chart evinced some deterioration in the text. He presented an +extreme example of deterioration in the text in which compounded +documents had to be set right by other techniques. The technique +illustrated by the present example was an image merge in which the page +is scanned twice and the settings go from fixed threshold to the +dithering matrix; the resulting images are merged to give the best +results with each technique. + +THOMA illustrated how dithering is also used in nonphotographic or +nonprint materials with an example of a grayish page from a medical text, +which was reproduced to show all of the gray that appeared in the +original. Dithering provided a reproduction of all the gray in the +original of another example from the same text. + +THOMA finally illustrated the problem of bordering, or page-edge, +effects. Books and bound volumes that are placed on a photocopy machine +or a scanner produce page-edge effects that are undesirable for two +reasons: 1) the aesthetics of the image; after all, if the image is to +be preserved, one does not necessarily want to keep all of its +deficiencies; 2) compression (with the bordering problem THOMA +illustrated, the compression ratio deteriorated tremendously). One way +to eliminate this more serious problem is to have the operator at the +point of scanning window the part of the image that is desirable and +automatically turn all of the pixels out of that picture to white. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +FLEISCHHAUER * AM's experience with scanning bound materials * Dithering +* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress, +reported AM's experience with scanning bound materials, which he likened +to the problems involved in using photocopying machines. Very few +devices in the industry offer book-edge scanning, let alone book cradles. +The problem may be unsolvable, FLEISCHHAUER said, because a large enough +market does not exist for a preservation-quality scanner. AM is using a +Kurzweil scanner, which is a book-edge scanner now sold by Xerox. + +Devoting the remainder of his brief presentation to dithering, +FLEISCHHAUER related AM's experience with a contractor who was using +unsophisticated equipment and software to reduce moire patterns from +printed halftones. AM took the same image and used the dithering +algorithm that forms part of the same Kurzweil Xerox scanner; it +disguised moire patterns much more effectively. + +FLEISCHHAUER also observed that dithering produces a binary file which is +useful for numerous purposes, for example, printing it on a laser printer +without having to "re-halftone" it. But it tends to defeat efficient +compression, because the very thing that dithers to reduce moire patterns +also tends to work against compression schemes. AM thought the +difference in image quality was worth it. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Relative use as a criterion for POB's selection of books to +be converted into digital form * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion period, WATERS noted that one of the criteria for +selecting books among the 10,000 to be converted into digital image form +would be how much relative use they would receive--a subject still +requiring evaluation. The challenge will be to understand whether +coherent bodies of material will increase usage or whether POB should +seek material that is being used, scan that, and make it more accessible. +POB might decide to digitize materials that are already heavily used, in +order to make them more accessible and decrease wear on them. Another +approach would be to provide a large body of intellectually coherent +material that may be used more in digital form than it is currently used +in microfilm. POB would seek material that was out of copyright. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BARONAS * Origin and scope of AIIM * Types of documents produced in +AIIM's standards program * Domain of AIIM's standardization work * AIIM's +structure * TC 171 and MS23 * Electronic image management standards * +Categories of EIM standardization where AIIM standards are being +developed * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Jean BARONAS, senior manager, Department of Standards and Technology, +Association for Information and Image Management (AIIM), described the +not-for-profit association and the national and international programs +for standardization in which AIIM is active. + +Accredited for twenty-five years as the nation's standards development +organization for document image management, AIIM began life in a library +community developing microfilm standards. Today the association +maintains both its library and business-image management standardization +activities--and has moved into electronic image-management +standardization (EIM). + +BARONAS defined the program's scope. AIIM deals with: 1) the +terminology of standards and of the technology it uses; 2) methods of +measurement for the systems, as well as quality; 3) methodologies for +users to evaluate and measure quality; 4) the features of apparatus used +to manage and edit images; and 5) the procedures used to manage images. + +BARONAS noted that three types of documents are produced in the AIIM +standards program: the first two, accredited by the American National +Standards Institute (ANSI), are standards and standard recommended +practices. Recommended practices differ from standards in that they +contain more tutorial information. A technical report is not an ANSI +standard. Because AIIM's policies and procedures for developing +standards are approved by ANSI, its standards are labeled ANSI/AIIM, +followed by the number and title of the standard. + +BARONAS then illustrated the domain of AIIM's standardization work. For +example, AIIM is the administrator of the U.S. Technical Advisory Group +(TAG) to the International Standards Organization's (ISO) technical +committee, TC l7l Micrographics and Optical Memories for Document and +Image Recording, Storage, and Use. AIIM officially works through ANSI in +the international standardization process. + +BARONAS described AIIM's structure, including its board of directors, its +standards board of twelve individuals active in the image-management +industry, its strategic planning and legal admissibility task forces, and +its National Standards Council, which is comprised of the members of a +number of organizations who vote on every AIIM standard before it is +published. BARONAS pointed out that AIIM's liaisons deal with numerous +other standards developers, including the optical disk community, office +and publishing systems, image-codes-and-character set committees, and the +National Information Standards Organization (NISO). + +BARONAS illustrated the procedures of TC l7l, which covers all aspects of +image management. When AIIM's national program has conceptualized a new +project, it is usually submitted to the international level, so that the +member countries of TC l7l can simultaneously work on the development of +the standard or the technical report. BARONAS also illustrated a classic +microfilm standard, MS23, which deals with numerous imaging concepts that +apply to electronic imaging. Originally developed in the l970s, revised +in the l980s, and revised again in l991, this standard is scheduled for +another revision. MS23 is an active standard whereby users may propose +new density ranges and new methods of evaluating film images in the +standard's revision. + +BARONAS detailed several electronic image-management standards, for +instance, ANSI/AIIM MS44, a quality-control guideline for scanning 8.5" +by 11" black-and-white office documents. This standard is used with the +IEEE fax image--a continuous tone photographic image with gray scales, +text, and several continuous tone pictures--and AIIM test target number +2, a representative document used in office document management. + +BARONAS next outlined the four categories of EIM standardization in which +AIIM standards are being developed: transfer and retrieval, evaluation, +optical disc and document scanning applications, and design and +conversion of documents. She detailed several of the main projects of +each: 1) in the category of image transfer and retrieval, a bi-level +image transfer format, ANSI/AIIM MS53, which is a proposed standard that +describes a file header for image transfer between unlike systems when +the images are compressed using G3 and G4 compression; 2) the category of +image evaluation, which includes the AIIM-proposed TR26 tutorial on image +resolution (this technical report will treat the differences and +similarities between classical or photographic and electronic imaging); +3) design and conversion, which includes a proposed technical report +called "Forms Design Optimization for EIM" (this report considers how +general-purpose business forms can be best designed so that scanning is +optimized; reprographic characteristics such as type, rules, background, +tint, and color will likewise be treated in the technical report); 4) +disk and document scanning applications includes a project a) on planning +platters and disk management, b) on generating an application profile for +EIM when images are stored and distributed on CD-ROM, and c) on +evaluating SCSI2, and how a common command set can be generated for SCSI2 +so that document scanners are more easily integrated. (ANSI/AIIM MS53 +will also apply to compressed images.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +BATTIN * The implications of standards for preservation * A major +obstacle to successful cooperation * A hindrance to access in the digital +environment * Standards a double-edged sword for those concerned with the +preservation of the human record * Near-term prognosis for reliable +archival standards * Preservation concerns for electronic media * Need +for reconceptualizing our preservation principles * Standards in the real +world and the politics of reproduction * Need to redefine the concept of +archival and to begin to think in terms of life cycles * Cooperation and +the La Guardia Eight * Concerns generated by discussions on the problems +of preserving text and image * General principles to be adopted in a +world without standards * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Patricia BATTIN, president, the Commission on Preservation and Access +(CPA), addressed the implications of standards for preservation. She +listed several areas where the library profession and the analog world of +the printed book had made enormous contributions over the past hundred +years--for example, in bibliographic formats, binding standards, and, most +important, in determining what constitutes longevity or archival quality. + +Although standards have lightened the preservation burden through the +development of national and international collaborative programs, +nevertheless, a pervasive mistrust of other people's standards remains a +major obstacle to successful cooperation, BATTIN said. + +The zeal to achieve perfection, regardless of the cost, has hindered +rather than facilitated access in some instances, and in the digital +environment, where no real standards exist, has brought an ironically +just reward. + +BATTIN argued that standards are a double-edged sword for those concerned +with the preservation of the human record, that is, the provision of +access to recorded knowledge in a multitude of media as far into the +future as possible. Standards are essential to facilitate +interconnectivity and access, but, BATTIN said, as LYNCH pointed out +yesterday, if set too soon they can hinder creativity, expansion of +capability, and the broadening of access. The characteristics of +standards for digital imagery differ radically from those for analog +imagery. And the nature of digital technology implies continuing +volatility and change. To reiterate, precipitous standard-setting can +inhibit creativity, but delayed standard-setting results in chaos. + +Since in BATTIN'S opinion the near-term prognosis for reliable archival +standards, as defined by librarians in the analog world, is poor, two +alternatives remain: standing pat with the old technology, or +reconceptualizing. + +Preservation concerns for electronic media fall into two general domains. +One is the continuing assurance of access to knowledge originally +generated, stored, disseminated, and used in electronic form. This +domain contains several subdivisions, including 1) the closed, +proprietary systems discussed the previous day, bundled information such +as electronic journals and government agency records, and electronically +produced or captured raw data; and 2) the application of digital +technologies to the reformatting of materials originally published on a +deteriorating analog medium such as acid paper or videotape. + +The preservation of electronic media requires a reconceptualizing of our +preservation principles during a volatile, standardless transition which +may last far longer than any of us envision today. BATTIN urged the +necessity of shifting focus from assessing, measuring, and setting +standards for the permanence of the medium to the concept of managing +continuing access to information stored on a variety of media and +requiring a variety of ever-changing hardware and software for access--a +fundamental shift for the library profession. + +BATTIN offered a primer on how to move forward with reasonable confidence +in a world without standards. Her comments fell roughly into two sections: +1) standards in the real world and 2) the politics of reproduction. + +In regard to real-world standards, BATTIN argued the need to redefine the +concept of archive and to begin to think in terms of life cycles. In +the past, the naive assumption that paper would last forever produced a +cavalier attitude toward life cycles. The transient nature of the +electronic media has compelled people to recognize and accept upfront the +concept of life cycles in place of permanency. + +Digital standards have to be developed and set in a cooperative context +to ensure efficient exchange of information. Moreover, during this +transition period, greater flexibility concerning how concepts such as +backup copies and archival copies in the CXP are defined is necessary, +or the opportunity to move forward will be lost. + +In terms of cooperation, particularly in the university setting, BATTIN +also argued the need to avoid going off in a hundred different +directions. The CPA has catalyzed a small group of universities called +the La Guardia Eight--because La Guardia Airport is where meetings take +place--Harvard, Yale, Cornell, Princeton, Penn State, Tennessee, +Stanford, and USC, to develop a digital preservation consortium to look +at all these issues and develop de facto standards as we move along, +instead of waiting for something that is officially blessed. Continuing +to apply analog values and definitions of standards to the digital +environment, BATTIN said, will effectively lead to forfeiture of the +benefits of digital technology to research and scholarship. + +Under the second rubric, the politics of reproduction, BATTIN reiterated +an oft-made argument concerning the electronic library, namely, that it +is more difficult to transform than to create, and nowhere is that belief +expressed more dramatically than in the conversion of brittle books to +new media. Preserving information published in electronic media involves +making sure the information remains accessible and that digital +information is not lost through reproduction. In the analog world of +photocopies and microfilm, the issue of fidelity to the original becomes +paramount, as do issues of "Whose fidelity?" and "Whose original?" + +BATTIN elaborated these arguments with a few examples from a recent study +conducted by the CPA on the problems of preserving text and image. +Discussions with scholars, librarians, and curators in a variety of +disciplines dependent on text and image generated a variety of concerns, +for example: 1) Copy what is, not what the technology is capable of. +This is very important for the history of ideas. Scholars wish to know +what the author saw and worked from. And make available at the +workstation the opportunity to erase all the defects and enhance the +presentation. 2) The fidelity of reproduction--what is good enough, what +can we afford, and the difference it makes--issues of subjective versus +objective resolution. 3) The differences between primary and secondary +users. Restricting the definition of primary user to the one in whose +discipline the material has been published runs one headlong into the +reality that these printed books have had a host of other users from a +host of other disciplines, who not only were looking for very different +things, but who also shared values very different from those of the +primary user. 4) The relationship of the standard of reproduction to new +capabilities of scholarship--the browsing standard versus an archival +standard. How good must the archival standard be? Can a distinction be +drawn between potential users in setting standards for reproduction? +Archival storage, use copies, browsing copies--ought an attempt to set +standards even be made? 5) Finally, costs. How much are we prepared to +pay to capture absolute fidelity? What are the trade-offs between vastly +enhanced access, degrees of fidelity, and costs? + +These standards, BATTIN concluded, serve to complicate further the +reproduction process, and add to the long list of technical standards +that are necessary to ensure widespread access. Ways to articulate and +analyze the costs that are attached to the different levels of standards +must be found. + +Given the chaos concerning standards, which promises to linger for the +foreseeable future, BATTIN urged adoption of the following general +principles: + + * Strive to understand the changing information requirements of + scholarly disciplines as more and more technology is integrated into + the process of research and scholarly communication in order to meet + future scholarly needs, not to build for the past. Capture + deteriorating information at the highest affordable resolution, even + though the dissemination and display technologies will lag. + + * Develop cooperative mechanisms to foster agreement on protocols + for document structure and other interchange mechanisms necessary + for widespread dissemination and use before official standards are + set. + + * Accept that, in a transition period, de facto standards will have + to be developed. + + * Capture information in a way that keeps all options open and + provides for total convertibility: OCR, scanning of microfilm, + producing microfilm from scanned documents, etc. + + * Work closely with the generators of information and the builders + of networks and databases to ensure that continuing accessibility is + a primary concern from the beginning. + + * Piggyback on standards under development for the broad market, and + avoid library-specific standards; work with the vendors, in order to + take advantage of that which is being standardized for the rest of + the world. + + * Concentrate efforts on managing permanence in the digital world, + rather than perfecting the longevity of a particular medium. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Additional comments on TIFF * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the brief discussion period that followed BATTIN's presentation, +BARONAS explained that TIFF was not developed in collaboration with or +under the auspices of AIIM. TIFF is a company product, not a standard, +is owned by two corporations, and is always changing. BARONAS also +observed that ANSI/AIIM MS53, a bi-level image file transfer format that +allows unlike systems to exchange images, is compatible with TIFF as well +as with DEC's architecture and IBM's MODCA/IOCA. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +HOOTON * Several questions to be considered in discussing text conversion +* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOOTON introduced the final topic, text conversion, by noting that it is +becoming an increasingly important part of the imaging business. Many +people now realize that it enhances their system to be able to have more +and more character data as part of their imaging system. Re the issue of +OCR versus rekeying, HOOTON posed several questions: How does one get +text into computer-readable form? Does one use automated processes? +Does one attempt to eliminate the use of operators where possible? +Standards for accuracy, he said, are extremely important: it makes a +major difference in cost and time whether one sets as a standard 98.5 +percent acceptance or 99.5 percent. He mentioned outsourcing as a +possibility for converting text. Finally, what one does with the image +to prepare it for the recognition process is also important, he said, +because such preparation changes how recognition is viewed, as well as +facilitates recognition itself. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +LESK * Roles of participants in CORE * Data flow * The scanning process * +The image interface * Results of experiments involving the use of +electronic resources and traditional paper copies * Testing the issue of +serendipity * Conclusions * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Michael LESK, executive director, Computer Science Research, Bell +Communications Research, Inc. (Bellcore), discussed the Chemical Online +Retrieval Experiment (CORE), a cooperative project involving Cornell +University, OCLC, Bellcore, and the American Chemical Society (ACS). + +LESK spoke on 1) how the scanning was performed, including the unusual +feature of page segmentation, and 2) the use made of the text and the +image in experiments. + +Working with the chemistry journals (because ACS has been saving its +typesetting tapes since the mid-1970s and thus has a significant back-run +of the most important chemistry journals in the United States), CORE is +attempting to create an automated chemical library. Approximately a +quarter of the pages by square inch are made up of images of +quasi-pictorial material; dealing with the graphic components of the +pages is extremely important. LESK described the roles of participants +in CORE: 1) ACS provides copyright permission, journals on paper, +journals on microfilm, and some of the definitions of the files; 2) at +Bellcore, LESK chiefly performs the data preparation, while Dennis Egan +performs experiments on the users of chemical abstracts, and supplies the +indexing and numerous magnetic tapes; 3) Cornell provides the site of the +experiment; 4) OCLC develops retrieval software and other user interfaces. +Various manufacturers and publishers have furnished other help. + +Concerning data flow, Bellcore receives microfilm and paper from ACS; the +microfilm is scanned by outside vendors, while the paper is scanned +inhouse on an Improvision scanner, twenty pages per minute at 300 dpi, +which provides sufficient quality for all practical uses. LESK would +prefer to have more gray level, because one of the ACS journals prints on +some colored pages, which creates a problem. + +Bellcore performs all this scanning, creates a page-image file, and also +selects from the pages the graphics, to mix with the text file (which is +discussed later in the Workshop). The user is always searching the ASCII +file, but she or he may see a display based on the ASCII or a display +based on the images. + +LESK illustrated how the program performs page analysis, and the image +interface. (The user types several words, is presented with a list-- +usually of the titles of articles contained in an issue--that derives +from the ASCII, clicks on an icon and receives an image that mirrors an +ACS page.) LESK also illustrated an alternative interface, based on text +on the ASCII, the so-called SuperBook interface from Bellcore. + +LESK next presented the results of an experiment conducted by Dennis Egan +and involving thirty-six students at Cornell, one third of them +undergraduate chemistry majors, one third senior undergraduate chemistry +majors, and one third graduate chemistry students. A third of them +received the paper journals, the traditional paper copies and chemical +abstracts on paper. A third received image displays of the pictures of +the pages, and a third received the text display with pop-up graphics. + +The students were given several questions made up by some chemistry +professors. The questions fell into five classes, ranging from very easy +to very difficult, and included questions designed to simulate browsing +as well as a traditional information retrieval-type task. + +LESK furnished the following results. In the straightforward question +search--the question being, what is the phosphorus oxygen bond distance +and hydroxy phosphate?--the students were told that they could take +fifteen minutes and, then, if they wished, give up. The students with +paper took more than fifteen minutes on average, and yet most of them +gave up. The students with either electronic format, text or image, +received good scores in reasonable time, hardly ever had to give up, and +usually found the right answer. + +In the browsing study, the students were given a list of eight topics, +told to imagine that an issue of the Journal of the American Chemical +Society had just appeared on their desks, and were also told to flip +through it and to find topics mentioned in the issue. The average scores +were about the same. (The students were told to answer yes or no about +whether or not particular topics appeared.) The errors, however, were +quite different. The students with paper rarely said that something +appeared when it had not. But they often failed to find something +actually mentioned in the issue. The computer people found numerous +things, but they also frequently said that a topic was mentioned when it +was not. (The reason, of course, was that they were performing word +searches. They were finding that words were mentioned and they were +concluding that they had accomplished their task.) + +This question also contained a trick to test the issue of serendipity. +The students were given another list of eight topics and instructed, +without taking a second look at the journal, to recall how many of this +new list of eight topics were in this particular issue. This was an +attempt to see if they performed better at remembering what they were not +looking for. They all performed about the same, paper or electronics, +about 62 percent accurate. In short, LESK said, people were not very +good when it came to serendipity, but they were no worse at it with +computers than they were with paper. + +(LESK gave a parenthetical illustration of the learning curve of students +who used SuperBook.) + +The students using the electronic systems started off worse than the ones +using print, but by the third of the three sessions in the series had +caught up to print. As one might expect, electronics provide a much +better means of finding what one wants to read; reading speeds, once the +object of the search has been found, are about the same. + +Almost none of the students could perform the hard task--the analogous +transformation. (It would require the expertise of organic chemists to +complete.) But an interesting result was that the students using the text +search performed terribly, while those using the image system did best. +That the text search system is driven by text offers the explanation. +Everything is focused on the text; to see the pictures, one must press +on an icon. Many students found the right article containing the answer +to the question, but they did not click on the icon to bring up the right +figure and see it. They did not know that they had found the right place, +and thus got it wrong. + +The short answer demonstrated by this experiment was that in the event +one does not know what to read, one needs the electronic systems; the +electronic systems hold no advantage at the moment if one knows what to +read, but neither do they impose a penalty. + +LESK concluded by commenting that, on one hand, the image system was easy +to use. On the other hand, the text display system, which represented +twenty man-years of work in programming and polishing, was not winning, +because the text was not being read, just searched. The much easier +system is highly competitive as well as remarkably effective for the +actual chemists. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ERWAY * Most challenging aspect of working on AM * Assumptions guiding +AM's approach * Testing different types of service bureaus * AM's +requirement for 99.95 percent accuracy * Requirements for text-coding * +Additional factors influencing AM's approach to coding * Results of AM's +experience with rekeying * Other problems in dealing with service bureaus +* Quality control the most time-consuming aspect of contracting out +conversion * Long-term outlook uncertain * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +To Ricky ERWAY, associate coordinator, American Memory, Library of +Congress, the constant variety of conversion projects taking place +simultaneously represented perhaps the most challenging aspect of working +on AM. Thus, the challenge was not to find a solution for text +conversion but a tool kit of solutions to apply to LC's varied +collections that need to be converted. ERWAY limited her remarks to the +process of converting text to machine-readable form, and the variety of +LC's text collections, for example, bound volumes, microfilm, and +handwritten manuscripts. + +Two assumptions have guided AM's approach, ERWAY said: 1) A desire not +to perform the conversion inhouse. Because of the variety of formats and +types of texts, to capitalize the equipment and have the talents and +skills to operate them at LC would be extremely expensive. Further, the +natural inclination to upgrade to newer and better equipment each year +made it reasonable for AM to focus on what it did best and seek external +conversion services. Using service bureaus also allowed AM to have +several types of operations take place at the same time. 2) AM was not a +technology project, but an effort to improve access to library +collections. Hence, whether text was converted using OCR or rekeying +mattered little to AM. What mattered were cost and accuracy of results. + +AM considered different types of service bureaus and selected three to +perform several small tests in order to acquire a sense of the field. +The sample collections with which they worked included handwritten +correspondence, typewritten manuscripts from the 1940s, and +eighteenth-century printed broadsides on microfilm. On none of these +samples was OCR performed; they were all rekeyed. AM had several special +requirements for the three service bureaus it had engaged. For instance, +any errors in the original text were to be retained. Working from bound +volumes or anything that could not be sheet-fed also constituted a factor +eliminating companies that would have performed OCR. + +AM requires 99.95 percent accuracy, which, though it sounds high, often +means one or two errors per page. The initial batch of test samples +contained several handwritten materials for which AM did not require +text-coding. The results, ERWAY reported, were in all cases fairly +comparable: for the most part, all three service bureaus achieved 99.95 +percent accuracy. AM was satisfied with the work but surprised at the cost. + +As AM began converting whole collections, it retained the requirement for +99.95 percent accuracy and added requirements for text-coding. AM needed +to begin performing work more than three years ago before LC requirements +for SGML applications had been established. Since AM's goal was simply +to retain any of the intellectual content represented by the formatting +of the document (which would be lost if one performed a straight ASCII +conversion), AM used "SGML-like" codes. These codes resembled SGML tags +but were used without the benefit of document-type definitions. AM found +that many service bureaus were not yet SGML-proficient. + +Additional factors influencing the approach AM took with respect to +coding included: 1) the inability of any known microcomputer-based +user-retrieval software to take advantage of SGML coding; and 2) the +multiple inconsistencies in format of the older documents, which +confirmed AM in its desire not to attempt to force the different formats +to conform to a single document-type definition (DTD) and thus create the +need for a separate DTD for each document. + +The five text collections that AM has converted or is in the process of +converting include a collection of eighteenth-century broadsides, a +collection of pamphlets, two typescript document collections, and a +collection of 150 books. + +ERWAY next reviewed the results of AM's experience with rekeying, noting +again that because the bulk of AM's materials are historical, the quality +of the text often does not lend itself to OCR. While non-English +speakers are less likely to guess or elaborate or correct typos in the +original text, they are also less able to infer what we would; they also +are nearly incapable of converting handwritten text. Another +disadvantage of working with overseas keyers is that they are much less +likely to telephone with questions, especially on the coding, with the +result that they develop their own rules as they encounter new +situations. + +Government contracting procedures and time frames posed a major challenge +to performing the conversion. Many service bureaus are not accustomed to +retaining the image, even if they perform OCR. Thus, questions of image +format and storage media were somewhat novel to many of them. ERWAY also +remarked other problems in dealing with service bureaus, for example, +their inability to perform text conversion from the kind of microfilm +that LC uses for preservation purposes. + +But quality control, in ERWAY's experience, was the most time-consuming +aspect of contracting out conversion. AM has been attempting to perform +a 10-percent quality review, looking at either every tenth document or +every tenth page to make certain that the service bureaus are maintaining +99.95 percent accuracy. But even if they are complying with the +requirement for accuracy, finding errors produces a desire to correct +them and, in turn, to clean up the whole collection, which defeats the +purpose to some extent. Even a double entry requires a +character-by-character comparison to the original to meet the accuracy +requirement. LC is not accustomed to publish imperfect texts, which +makes attempting to deal with the industry standard an emotionally +fraught issue for AM. As was mentioned in the previous day's discussion, +going from 99.95 to 99.99 percent accuracy usually doubles costs and +means a third keying or another complete run-through of the text. + +Although AM has learned much from its experiences with various collections +and various service bureaus, ERWAY concluded pessimistically that no +breakthrough has been achieved. Incremental improvements have occurred +in some of the OCR technology, some of the processes, and some of the +standards acceptances, which, though they may lead to somewhat lower costs, +do not offer much encouragement to many people who are anxiously awaiting +the day that the entire contents of LC are available on-line. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +ZIDAR * Several answers to why one attempts to perform full-text +conversion * Per page cost of performing OCR * Typical problems +encountered during editing * Editing poor copy OCR vs. rekeying * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program +(NATDP), National Agricultural Library (NAL), offered several answers to +the question of why one attempts to perform full-text conversion: 1) +Text in an image can be read by a human but not by a computer, so of +course it is not searchable and there is not much one can do with it. 2) +Some material simply requires word-level access. For instance, the legal +profession insists on full-text access to its material; with taxonomic or +geographic material, which entails numerous names, one virtually requires +word-level access. 3) Full text permits rapid browsing and searching, +something that cannot be achieved in an image with today's technology. +4) Text stored as ASCII and delivered in ASCII is standardized and highly +portable. 5) People just want full-text searching, even those who do not +know how to do it. NAL, for the most part, is performing OCR at an +actual cost per average-size page of approximately $7. NAL scans the +page to create the electronic image and passes it through the OCR device. + +ZIDAR next rehearsed several typical problems encountered during editing. +Praising the celerity of her student workers, ZIDAR observed that editing +requires approximately five to ten minutes per page, assuming that there +are no large tables to audit. Confusion among the three characters I, 1, +and l, constitutes perhaps the most common problem encountered. Zeroes +and O's also are frequently confused. Double M's create a particular +problem, even on clean pages. They are so wide in most fonts that they +touch, and the system simply cannot tell where one letter ends and the +other begins. Complex page formats occasionally fail to columnate +properly, which entails rescanning as though one were working with a +single column, entering the ASCII, and decolumnating for better +searching. With proportionally spaced text, OCR can have difficulty +discerning what is a space and what are merely spaces between letters, as +opposed to spaces between words, and therefore will merge text or break +up words where it should not. + +ZIDAR said that it can often take longer to edit a poor-copy OCR than to +key it from scratch. NAL has also experimented with partial editing of +text, whereby project workers go into and clean up the format, removing +stray characters but not running a spell-check. NAL corrects typos in +the title and authors' names, which provides a foothold for searching and +browsing. Even extremely poor-quality OCR (e.g., 60-percent accuracy) +can still be searched, because numerous words are correct, while the +important words are probably repeated often enough that they are likely +to be found correct somewhere. Librarians, however, cannot tolerate this +situation, though end users seem more willing to use this text for +searching, provided that NAL indicates that it is unedited. ZIDAR +concluded that rekeying of text may be the best route to take, in spite +of numerous problems with quality control and cost. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Modifying an image before performing OCR * NAL's costs per +page *AM's costs per page and experience with Federal Prison Industries * +Elements comprising NATDP's costs per page * OCR and structured markup * +Distinction between the structure of a document and its representation +when put on the screen or printed * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOOTON prefaced the lengthy discussion that followed with several +comments about modifying an image before one reaches the point of +performing OCR. For example, in regard to an application containing a +significant amount of redundant data, such as form-type data, numerous +companies today are working on various kinds of form renewal, prior to +going through a recognition process, by using dropout colors. Thus, +acquiring access to form design or using electronic means are worth +considering. HOOTON also noted that conversion usually makes or breaks +one's imaging system. It is extremely important, extremely costly in +terms of either capital investment or service, and determines the quality +of the remainder of one's system, because it determines the character of +the raw material used by the system. + +Concerning the four projects undertaken by NAL, two inside and two +performed by outside contractors, ZIDAR revealed that an in-house service +bureau executed the first at a cost between $8 and $10 per page for +everything, including building of the database. The project undertaken +by the Consultative Group on International Agricultural Research (CGIAR) +cost approximately $10 per page for the conversion, plus some expenses +for the software and building of the database. The Acid Rain Project--a +two-disk set produced by the University of Vermont, consisting of +Canadian publications on acid rain--cost $6.70 per page for everything, +including keying of the text, which was double keyed, scanning of the +images, and building of the database. The in-house project offered +considerable ease of convenience and greater control of the process. On +the other hand, the service bureaus know their job and perform it +expeditiously, because they have more people. + +As a useful comparison, ERWAY revealed AM's costs as follows: $0.75 +cents to $0.85 cents per thousand characters, with an average page +containing 2,700 characters. Requirements for coding and imaging +increase the costs. Thus, conversion of the text, including the coding, +costs approximately $3 per page. (This figure does not include the +imaging and database-building included in the NAL costs.) AM also +enjoyed a happy experience with Federal Prison Industries, which +precluded the necessity of going through the request-for-proposal process +to award a contract, because it is another government agency. The +prisoners performed AM's rekeying just as well as other service bureaus +and proved handy as well. AM shipped them the books, which they would +photocopy on a book-edge scanner. They would perform the markup on +photocopies, return the books as soon as they were done with them, +perform the keying, and return the material to AM on WORM disks. + +ZIDAR detailed the elements that constitute the previously noted cost of +approximately $7 per page. Most significant is the editing, correction +of errors, and spell-checkings, which though they may sound easy to +perform require, in fact, a great deal of time. Reformatting text also +takes a while, but a significant amount of NAL's expenses are for equipment, +which was extremely expensive when purchased because it was one of the few +systems on the market. The costs of equipment are being amortized over +five years but are still quite high, nearly $2,000 per month. + +HOCKEY raised a general question concerning OCR and the amount of editing +required (substantial in her experience) to generate the kind of +structured markup necessary for manipulating the text on the computer or +loading it into any retrieval system. She wondered if the speakers could +extend the previous question about the cost-benefit of adding or exerting +structured markup. ERWAY noted that several OCR systems retain italics, +bolding, and other spatial formatting. While the material may not be in +the format desired, these systems possess the ability to remove the +original materials quickly from the hands of the people performing the +conversion, as well as to retain that information so that users can work +with it. HOCKEY rejoined that the current thinking on markup is that one +should not say that something is italic or bold so much as why it is that +way. To be sure, one needs to know that something was italicized, but +how can one get from one to the other? One can map from the structure to +the typographic representation. + +FLEISCHHAUER suggested that, given the 100 million items the Library +holds, it may not be possible for LC to do more than report that a thing +was in italics as opposed to why it was italics, although that may be +desirable in some contexts. Promising to talk a bit during the afternoon +session about several experiments OCLC performed on automatic recognition +of document elements, and which they hoped to extend, WEIBEL said that in +fact one can recognize the major elements of a document with a fairly +high degree of reliability, at least as good as OCR. STEVENS drew a +useful distinction between standard, generalized markup (i.e., defining +for a document-type definition the structure of the document), and what +he termed a style sheet, which had to do with italics, bolding, and other +forms of emphasis. Thus, two different components are at work, one being +the structure of the document itself (its logic), and the other being its +representation when it is put on the screen or printed. + + ****** + +SESSION V. APPROACHES TO PREPARING ELECTRONIC TEXTS + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +HOCKEY * Text in ASCII and the representation of electronic text versus +an image * The need to look at ways of using markup to assist retrieval * +The need for an encoding format that will be reusable and multifunctional ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Susan HOCKEY, director, Center for Electronic Texts in the Humanities +(CETH), Rutgers and Princeton Universities, announced that one talk +(WEIBEL's) was moved into this session from the morning and that David +Packard was unable to attend. The session would attempt to focus more on +what one can do with a text in ASCII and the representation of electronic +text rather than just an image, what one can do with a computer that +cannot be done with a book or an image. It would be argued that one can +do much more than just read a text, and from that starting point one can +use markup and methods of preparing the text to take full advantage of +the capability of the computer. That would lead to a discussion of what +the European Community calls REUSABILITY, what may better be termed +DURABILITY, that is, how to prepare or make a text that will last a long +time and that can be used for as many applications as possible, which +would lead to issues of improving intellectual access. + +HOCKEY urged the need to look at ways of using markup to facilitate retrieval, +not just for referencing or to help locate an item that is retrieved, but also to put markup tags in +a text to help retrieve the thing sought either with linguistic tagging or +interpretation. HOCKEY also argued that little advancement had occurred in +the software tools currently available for retrieving and searching text. +She pressed the desideratum of going beyond Boolean searches and performing +more sophisticated searching, which the insertion of more markup in the text +would facilitate. Thinking about electronic texts as opposed to images means +considering material that will never appear in print form, or print will not +be its primary form, that is, material which only appears in electronic form. +HOCKEY alluded to the history and the need for markup and tagging and +electronic text, which was developed through the use of computers in the +humanities; as MICHELSON had observed, Father Busa had started in 1949 +to prepare the first-ever text on the computer. + +HOCKEY remarked several large projects, particularly in Europe, for the +compilation of dictionaries, language studies, and language analysis, in +which people have built up archives of text and have begun to recognize +the need for an encoding format that will be reusable and multifunctional, +that can be used not just to print the text, which may be assumed to be a +byproduct of what one wants to do, but to structure it inside the computer +so that it can be searched, built into a Hypertext system, etc. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +WEIBEL * OCLC's approach to preparing electronic text: retroconversion, +keying of texts, more automated ways of developing data * Project ADAPT +and the CORE Project * Intelligent character recognition does not exist * +Advantages of SGML * Data should be free of procedural markup; +descriptive markup strongly advocated * OCLC's interface illustrated * +Storage requirements and costs for putting a lot of information on line * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Stuart WEIBEL, senior research scientist, Online Computer Library Center, +Inc. (OCLC), described OCLC's approach to preparing electronic text. He +argued that the electronic world into which we are moving must +accommodate not only the future but the past as well, and to some degree +even the present. Thus, starting out at one end with retroconversion and +keying of texts, one would like to move toward much more automated ways +of developing data. + +For example, Project ADAPT had to do with automatically converting +document images into a structured document database with OCR text as +indexing and also a little bit of automatic formatting and tagging of +that text. The CORE project hosted by Cornell University, Bellcore, +OCLC, the American Chemical Society, and Chemical Abstracts, constitutes +WEIBEL's principal concern at the moment. This project is an example of +converting text for which one already has a machine-readable version into +a format more suitable for electronic delivery and database searching. +(Since Michael LESK had previously described CORE, WEIBEL would say +little concerning it.) Borrowing a chemical phrase, de novo synthesis, +WEIBEL cited the Online Journal of Current Clinical Trials as an example +of de novo electronic publishing, that is, a form in which the primary +form of the information is electronic. + +Project ADAPT, then, which OCLC completed a couple of years ago and in +fact is about to resume, is a model in which one takes page images either +in paper or microfilm and converts them automatically to a searchable +electronic database, either on-line or local. The operating assumption +is that accepting some blemishes in the data, especially for +retroconversion of materials, will make it possible to accomplish more. +Not enough money is available to support perfect conversion. + +WEIBEL related several steps taken to perform image preprocessing +(processing on the image before performing optical character +recognition), as well as image postprocessing. He denied the existence +of intelligent character recognition and asserted that what is wanted is +page recognition, which is a long way off. OCLC has experimented with +merging of multiple optical character recognition systems that will +reduce errors from an unacceptable rate of 5 characters out of every +l,000 to an unacceptable rate of 2 characters out of every l,000, but it +is not good enough. It will never be perfect. + +Concerning the CORE Project, WEIBEL observed that Bellcore is taking the +topography files, extracting the page images, and converting those +topography files to SGML markup. LESK hands that data off to OCLC, which +builds that data into a Newton database, the same system that underlies +the on-line system in virtually all of the reference products at OCLC. +The long-term goal is to make the systems interoperable so that not just +Bellcore's system and OCLC's system can access this data, but other +systems can as well, and the key to that is the Z39.50 common command +language and the full-text extension. Z39.50 is fine for MARC records, +but is not enough to do it for full text (that is, make full texts +interoperable). + +WEIBEL next outlined the critical role of SGML for a variety of purposes, +for example, as noted by HOCKEY, in the world of extremely large +databases, using highly structured data to perform field searches. +WEIBEL argued that by building the structure of the data in (i.e., the +structure of the data originally on a printed page), it becomes easy to +look at a journal article even if one cannot read the characters and know +where the title or author is, or what the sections of that document would be. +OCLC wants to make that structure explicit in the database, because it will +be important for retrieval purposes. + +The second big advantage of SGML is that it gives one the ability to +build structure into the database that can be used for display purposes +without contaminating the data with instructions about how to format +things. The distinction lies between procedural markup, which tells one +where to put dots on the page, and descriptive markup, which describes +the elements of a document. + +WEIBEL believes that there should be no procedural markup in the data at +all, that the data should be completely unsullied by information about +italics or boldness. That should be left up to the display device, +whether that display device is a page printer or a screen display device. +By keeping one's database free of that kind of contamination, one can +make decisions down the road, for example, reorganize the data in ways +that are not cramped by built-in notions of what should be italic and +what should be bold. WEIBEL strongly advocated descriptive markup. As +an example, he illustrated the index structure in the CORE data. With +subsequent illustrated examples of markup, WEIBEL acknowledged the common +complaint that SGML is hard to read in its native form, although markup +decreases considerably once one gets into the body. Without the markup, +however, one would not have the structure in the data. One can pass +markup through a LaTeX processor and convert it relatively easily to a +printed version of the document. + +WEIBEL next illustrated an extremely cluttered screen dump of OCLC's +system, in order to show as much as possible the inherent capability on +the screen. (He noted parenthetically that he had become a supporter of +X-Windows as a result of the progress of the CORE Project.) WEIBEL also +illustrated the two major parts of the interface: l) a control box that +allows one to generate lists of items, which resembles a small table of +contents based on key words one wishes to search, and 2) a document +viewer, which is a separate process in and of itself. He demonstrated +how to follow links through the electronic database simply by selecting +the appropriate button and bringing them up. He also noted problems that +remain to be accommodated in the interface (e.g., as pointed out by LESK, +what happens when users do not click on the icon for the figure). + +Given the constraints of time, WEIBEL omitted a large number of ancillary +items in order to say a few words concerning storage requirements and +what will be required to put a lot of things on line. Since it is +extremely expensive to reconvert all of this data, especially if it is +just in paper form (and even if it is in electronic form in typesetting +tapes), he advocated building journals electronically from the start. In +that case, if one only has text graphics and indexing (which is all that +one needs with de novo electronic publishing, because there is no need to +go back and look at bit-maps of pages), one can get 10,000 journals of +full text, or almost 6 million pages per year. These pages can be put in +approximately 135 gigabytes of storage, which is not all that much, +WEIBEL said. For twenty years, something less than three terabytes would +be required. WEIBEL calculated the costs of storing this information as +follows: If a gigabyte costs approximately $1,000, then a terabyte costs +approximately $1 million to buy in terms of hardware. One also needs a +building to put it in and a staff like OCLC to handle that information. +So, to support a terabyte, multiply by five, which gives $5 million per +year for a supported terabyte of data. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Tapes saved by ACS are the typography files originally +supporting publication of the journal * Cost of building tagged text into +the database * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the question-and-answer period that followed WEIBEL's +presentation, these clarifications emerged. The tapes saved by the +American Chemical Society are the typography files that originally +supported the publication of the journal. Although they are not tagged +in SGML, they are tagged in very fine detail. Every single sentence is +marked, all the registry numbers, all the publications issues, dates, and +volumes. No cost figures on tagging material on a per-megabyte basis +were available. Because ACS's typesetting system runs from tagged text, +there is no extra cost per article. It was unknown what it costs ACS to +keyboard the tagged text rather than just keyboard the text in the +cheapest process. In other words, since one intends to publish things +and will need to build tagged text into a typography system in any case, +if one does that in such a way that it can drive not only typography but +an electronic system (which is what ACS intends to do--move to SGML +publishing), the marginal cost is zero. The marginal cost represents the +cost of building tagged text into the database, which is small. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +SPERBERG-McQUEEN * Distinction between texts and computers * Implications +of recognizing that all representation is encoding * Dealing with +complicated representations of text entails the need for a grammar of +documents * Variety of forms of formal grammars * Text as a bit-mapped +image does not represent a serious attempt to represent text in +electronic form * SGML, the TEI, document-type declarations, and the +reusability and longevity of data * TEI conformance explicitly allows +extension or modification of the TEI tag set * Administrative background +of the TEI * Several design goals for the TEI tag set * An absolutely +fixed requirement of the TEI Guidelines * Challenges the TEI has +attempted to face * Good texts not beyond economic feasibility * The +issue of reproducibility or processability * The issue of mages as +simulacra for the text redux * One's model of text determines what one's +software can do with a text and has economic consequences * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Prior to speaking about SGML and markup, Michael SPERBERG-McQUEEN, editor, +Text Encoding Initiative (TEI), University of Illinois-Chicago, first drew +a distinction between texts and computers: Texts are abstract cultural +and linguistic objects while computers are complicated physical devices, +he said. Abstract objects cannot be placed inside physical devices; with +computers one can only represent text and act upon those representations. + +The recognition that all representation is encoding, SPERBERG-McQUEEN +argued, leads to the recognition of two things: 1) The topic description +for this session is slightly misleading, because there can be no discussion +of pros and cons of text-coding unless what one means is pros and cons of +working with text with computers. 2) No text can be represented in a +computer without some sort of encoding; images are one way of encoding text, +ASCII is another, SGML yet another. There is no encoding without some +information loss, that is, there is no perfect reproduction of a text that +allows one to do away with the original. Thus, the question becomes, +What is the most useful representation of text for a serious work? +This depends on what kind of serious work one is talking about. + +The projects demonstrated the previous day all involved highly complex +information and fairly complex manipulation of the textual material. +In order to use that complicated information, one has to calculate it +slowly or manually and store the result. It needs to be stored, therefore, +as part of one's representation of the text. Thus, one needs to store the +structure in the text. To deal with complicated representations of text, +one needs somehow to control the complexity of the representation of a text; +that means one needs a way of finding out whether a document and an +electronic representation of a document is legal or not; and that +means one needs a grammar of documents. + +SPERBERG-McQUEEN discussed the variety of forms of formal grammars, +implicit and explicit, as applied to text, and their capabilities. He +argued that these grammars correspond to different models of text that +different developers have. For example, one implicit model of the text +is that there is no internal structure, but just one thing after another, +a few characters and then perhaps a start-title command, and then a few +more characters and an end-title command. SPERBERG-McQUEEN also +distinguished several kinds of text that have a sort of hierarchical +structure that is not very well defined, which, typically, corresponds +to grammars that are not very well defined, as well as hierarchies that +are very well defined (e.g., the Thesaurus Linguae Graecae) and extremely +complicated things such as SGML, which handle strictly hierarchical data +very nicely. + +SPERBERG-McQUEEN conceded that one other model not illustrated on his two +displays was the model of text as a bit-mapped image, an image of a page, +and confessed to having been converted to a limited extent by the +Workshop to the view that electronic images constitute a promising, +probably superior alternative to microfilming. But he was not convinced +that electronic images represent a serious attempt to represent text in +electronic form. Many of their problems stem from the fact that they are +not direct attempts to represent the text but attempts to represent the +page, thus making them representations of representations. + +In this situation of increasingly complicated textual information and the +need to control that complexity in a useful way (which begs the question +of the need for good textual grammars), one has the introduction of SGML. +With SGML, one can develop specific document-type declarations +for specific text types or, as with the TEI, attempts to generate +general document-type declarations that can handle all sorts of text. +The TEI is an attempt to develop formats for text representation that +will ensure the kind of reusability and longevity of data discussed earlier. +It offers a way to stay alive in the state of permanent technological +revolution. + +It has been a continuing challenge in the TEI to create document grammars +that do some work in controlling the complexity of the textual object but +also allowing one to represent the real text that one will find. +Fundamental to the notion of the TEI is that TEI conformance allows one +the ability to extend or modify the TEI tag set so that it fits the text +that one is attempting to represent. + +SPERBERG-McQUEEN next outlined the administrative background of the TEI. +The TEI is an international project to develop and disseminate guidelines +for the encoding and interchange of machine-readable text. It is +sponsored by the Association for Computers in the Humanities, the +Association for Computational Linguistics, and the Association for +Literary and Linguistic Computing. Representatives of numerous other +professional societies sit on its advisory board. The TEI has a number +of affiliated projects that have provided assistance by testing drafts of +the guidelines. + +Among the design goals for the TEI tag set, the scheme first of all must +meet the needs of research, because the TEI came out of the research +community, which did not feel adequately served by existing tag sets. +The tag set must be extensive as well as compatible with existing and +emerging standards. In 1990, version 1.0 of the Guidelines was released +(SPERBERG-McQUEEN illustrated their contents). + +SPERBERG-McQUEEN noted that one problem besetting electronic text has +been the lack of adequate internal or external documentation for many +existing electronic texts. The TEI guidelines as currently formulated +contain few fixed requirements, but one of them is this: There must +always be a document header, an in-file SGML tag that provides +1) a bibliographic description of the electronic object one is talking +about (that is, who included it, when, what for, and under which title); +and 2) the copy text from which it was derived, if any. If there was +no copy text or if the copy text is unknown, then one states as much. +Version 2.0 of the Guidelines was scheduled to be completed in fall 1992 +and a revised third version is to be presented to the TEI advisory board +for its endorsement this coming winter. The TEI itself exists to provide +a markup language, not a marked-up text. + +Among the challenges the TEI has attempted to face is the need for a +markup language that will work for existing projects, that is, handle the +level of markup that people are using now to tag only chapter, section, +and paragraph divisions and not much else. At the same time, such a +language also will be able to scale up gracefully to handle the highly +detailed markup which many people foresee as the future destination of +much electronic text, and which is not the future destination but the +present home of numerous electronic texts in specialized areas. + +SPERBERG-McQUEEN dismissed the lowest-common-denominator approach as +unable to support the kind of applications that draw people who have +never been in the public library regularly before, and make them come +back. He advocated more interesting text and more intelligent text. +Asserting that it is not beyond economic feasibility to have good texts, +SPERBERG-McQUEEN noted that the TEI Guidelines listing 200-odd tags +contains tags that one is expected to enter every time the relevant +textual feature occurs. It contains all the tags that people need now, +and it is not expected that everyone will tag things in the same way. + +The question of how people will tag the text is in large part a function +of their reaction to what SPERBERG-McQUEEN termed the issue of +reproducibility. What one needs to be able to reproduce are the things +one wants to work with. Perhaps a more useful concept than that of +reproducibility or recoverability is that of processability, that is, +what can one get from an electronic text without reading it again +in the original. He illustrated this contention with a page from +Jan Comenius's bilingual Introduction to Latin. + +SPERBERG-McQUEEN returned at length to the issue of images as simulacra +for the text, in order to reiterate his belief that in the long run more +than images of pages of particular editions of the text are needed, +because just as second-generation photocopies and second-generation +microfilm degenerate, so second-generation representations tend to +degenerate, and one tends to overstress some relatively trivial aspects +of the text such as its layout on the page, which is not always +significant, despite what the text critics might say, and slight other +pieces of information such as the very important lexical ties between the +English and Latin versions of Comenius's bilingual text, for example. +Moreover, in many crucial respects it is easy to fool oneself concerning +what a scanned image of the text will accomplish. For example, in order +to study the transmission of texts, information concerning the text +carrier is necessary, which scanned images simply do not always handle. +Further, even the high-quality materials being produced at Cornell use +much of the information that one would need if studying those books as +physical objects. It is a choice that has been made. It is an arguably +justifiable choice, but one does not know what color those pen strokes in +the margin are or whether there was a stain on the page, because it has +been filtered out. One does not know whether there were rips in the page +because they do not show up, and on a couple of the marginal marks one +loses half of the mark because the pen is very light and the scanner +failed to pick it up, and so what is clearly a checkmark in the margin of +the original becomes a little scoop in the margin of the facsimile. +Standard problems for facsimile editions, not new to electronics, but +also true of light-lens photography, and are remarked here because it is +important that we not fool ourselves that even if we produce a very nice +image of this page with good contrast, we are not replacing the +manuscript any more than microfilm has replaced the manuscript. + +The TEI comes from the research community, where its first allegiance +lies, but it is not just an academic exercise. It has relevance far +beyond those who spend all of their time studying text, because one's +model of text determines what one's software can do with a text. Good +models lead to good software. Bad models lead to bad software. That has +economic consequences, and it is these economic consequences that have +led the European Community to help support the TEI, and that will lead, +SPERBERG-McQUEEN hoped, some software vendors to realize that if they +provide software with a better model of the text they can make a killing. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Implications of different DTDs and tag sets * ODA versus SGML * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +During the discussion that followed, several additional points were made. +Neither AAP (i.e., Association of American Publishers) nor CALS (i.e., +Computer-aided Acquisition and Logistics Support) has a document-type +definition for ancient Greek drama, although the TEI will be able to +handle that. Given this state of affairs and assuming that the +technical-journal producers and the commercial vendors decide to use the +other two types, then an institution like the Library of Congress, which +might receive all of their publications, would have to be able to handle +three different types of document definitions and tag sets and be able to +distinguish among them. + +Office Document Architecture (ODA) has some advantages that flow from its +tight focus on office documents and clear directions for implementation. +Much of the ODA standard is easier to read and clearer at first reading +than the SGML standard, which is extremely general. What that means is +that if one wants to use graphics in TIFF and ODA, one is stuck, because +ODA defines graphics formats while TIFF does not, whereas SGML says the +world is not waiting for this work group to create another graphics format. +What is needed is an ability to use whatever graphics format one wants. + +The TEI provides a socket that allows one to connect the SGML document to +the graphics. The notation that the graphics are in is clearly a choice +that one needs to make based on her or his environment, and that is one +advantage. SGML is less megalomaniacal in attempting to define formats +for all kinds of information, though more megalomaniacal in attempting to +cover all sorts of documents. The other advantage is that the model of +text represented by SGML is simply an order of magnitude richer and more +flexible than the model of text offered by ODA. Both offer hierarchical +structures, but SGML recognizes that the hierarchical model of the text +that one is looking at may not have been in the minds of the designers, +whereas ODA does not. + +ODA is not really aiming for the kind of document that the TEI wants to +encompass. The TEI can handle the kind of material ODA has, as well as a +significantly broader range of material. ODA seems to be very much +focused on office documents, which is what it started out being called-- +office document architecture. + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +CALALUCA * Text-encoding from a publisher's perspective * +Responsibilities of a publisher * Reproduction of Migne's Latin series +whole and complete with SGML tags based on perceived need and expected +use * Particular decisions arising from the general decision to produce +and publish PLD * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The final speaker in this session, Eric CALALUCA, vice president, +Chadwyck-Healey, Inc., spoke from the perspective of a publisher re +text-encoding, rather than as one qualified to discuss methods of +encoding data, and observed that the presenters sitting in the room, +whether they had chosen to or not, were acting as publishers: making +choices, gathering data, gathering information, and making assessments. +CALALUCA offered the hard-won conviction that in publishing very large +text files (such as PLD), one cannot avoid making personal judgments of +appropriateness and structure. + +In CALALUCA's view, encoding decisions stem from prior judgments. Two +notions have become axioms for him in the consideration of future sources +for electronic publication: 1) electronic text publishing is as personal +as any other kind of publishing, and questions of if and how to encode +the data are simply a consequence of that prior decision; 2) all +personal decisions are open to criticism, which is unavoidable. + +CALALUCA rehearsed his role as a publisher or, better, as an intermediary +between what is viewed as a sound idea and the people who would make use +of it. Finding the specialist to advise in this process is the core of +that function. The publisher must monitor and hug the fine line between +giving users what they want and suggesting what they might need. One +responsibility of a publisher is to represent the desires of scholars and +research librarians as opposed to bullheadedly forcing them into areas +they would not choose to enter. + +CALALUCA likened the questions being raised today about data structure +and standards to the decisions faced by the Abbe Migne himself during +production of the Patrologia series in the mid-nineteenth century. +Chadwyck-Healey's decision to reproduce Migne's Latin series whole and +complete with SGML tags was also based upon a perceived need and an +expected use. In the same way that Migne's work came to be far more than +a simple handbook for clerics, PLD is already far more than a database +for theologians. It is a bedrock source for the study of Western +civilization, CALALUCA asserted. + +In regard to the decision to produce and publish PLD, the editorial board +offered direct judgments on the question of appropriateness of these +texts for conversion, their encoding and their distribution, and +concluded that the best possible project was one that avoided overt +intrusions or exclusions in so important a resource. Thus, the general +decision to transmit the original collection as clearly as possible with +the widest possible avenues for use led to other decisions: 1) To encode +the data or not, SGML or not, TEI or not. Again, the expected user +community asserted the need for normative tagging structures of important +humanities texts, and the TEI seemed the most appropriate structure for +that purpose. Research librarians, who are trained to view the larger +impact of electronic text sources on 80 or 90 or 100 doctoral +disciplines, loudly approved the decision to include tagging. They see +what is coming better than the specialist who is completely focused on +one edition of Ambrose's De Anima, and they also understand that the +potential uses exceed present expectations. 2) What will be tagged and +what will not. Once again, the board realized that one must tag the +obvious. But in no way should one attempt to identify through encoding +schemes every single discrete area of a text that might someday be +searched. That was another decision. Searching by a column number, an +author, a word, a volume, permitting combination searches, and tagging +notations seemed logical choices as core elements. 3) How does one make +the data available? Tying it to a CD-ROM edition creates limitations, +but a magnetic tape file that is very large, is accompanied by the +encoding specifications, and that allows one to make local modifications +also allows one to incorporate any changes one may desire within the +bounds of private research, though exporting tag files from a CD-ROM +could serve just as well. Since no one on the board could possibly +anticipate each and every way in which a scholar might choose to mine +this data bank, it was decided to satisfy the basics and make some +provisions for what might come. 4) Not to encode the database would rob +it of the interchangeability and portability these important texts should +accommodate. For CALALUCA, the extensive options presented by full-text +searching require care in text selection and strongly support encoding of +data to facilitate the widest possible search strategies. Better +software can always be created, but summoning the resources, the people, +and the energy to reconvert the text is another matter. + +PLD is being encoded, captured, and distributed, because to +Chadwyck-Healey and the board it offers the widest possible array of +future research applications that can be seen today. CALALUCA concluded +by urging the encoding of all important text sources in whatever way +seems most appropriate and durable at the time, without blanching at the +thought that one's work may require emendation in the future. (Thus, +Chadwyck-Healey produced a very large humanities text database before the +final release of the TEI Guidelines.) + + ****** + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DISCUSSION * Creating texts with markup advocated * Trends in encoding * +The TEI and the issue of interchangeability of standards * A +misconception concerning the TEI * Implications for an institution like +LC in the event that a multiplicity of DTDs develops * Producing images +as a first step towards possible conversion to full text through +character recognition * The AAP tag sets as a common starting point and +the need for caution * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +HOCKEY prefaced the discussion that followed with several comments in +favor of creating texts with markup and on trends in encoding. In the +future, when many more texts are available for on-line searching, real +problems in finding what is wanted will develop, if one is faced with +millions of words of data. It therefore becomes important to consider +putting markup in texts to help searchers home in on the actual things +they wish to retrieve. Various approaches to refining retrieval methods +toward this end include building on a computer version of a dictionary +and letting the computer look up words in it to obtain more information +about the semantic structure or semantic field of a word, its grammatical +structure, and syntactic structure. + +HOCKEY commented on the present keen interest in the encoding world +in creating: 1) machine-readable versions of dictionaries that can be +initially tagged in SGML, which gives a structure to the dictionary entry; +these entries can then be converted into a more rigid or otherwise +different database structure inside the computer, which can be treated as +a dynamic tool for searching mechanisms; 2) large bodies of text to study +the language. In order to incorporate more sophisticated mechanisms, +more about how words behave needs to be known, which can be learned in +part from information in dictionaries. However, the last ten years have +seen much interest in studying the structure of printed dictionaries +converted into computer-readable form. The information one derives about +many words from those is only partial, one or two definitions of the +common or the usual meaning of a word, and then numerous definitions of +unusual usages. If the computer is using a dictionary to help retrieve +words in a text, it needs much more information about the common usages, +because those are the ones that occur over and over again. Hence the +current interest in developing large bodies of text in computer-readable +form in order to study the language. Several projects are engaged in +compiling, for example, 100 million words. HOCKEY described one with +which she was associated briefly at Oxford University involving +compilation of 100 million words of British English: about 10 percent of +that will contain detailed linguistic tagging encoded in SGML; it will +have word class taggings, with words identified as nouns, verbs, +adjectives, or other parts of speech. This tagging can then be used by +programs which will begin to learn a bit more about the structure of the +language, and then, can go to tag more text. + +HOCKEY said that the more that is tagged accurately, the more one can +refine the tagging process and thus the bigger body of text one can build +up with linguistic tagging incorporated into it. Hence, the more tagging +or annotation there is in the text, the more one may begin to learn about +language and the more it will help accomplish more intelligent OCR. She +recommended the development of software tools that will help one begin to +understand more about a text, which can then be applied to scanning +images of that text in that format and to using more intelligence to help +one interpret or understand the text. + +HOCKEY posited the need to think about common methods of text-encoding +for a long time to come, because building these large bodies of text is +extremely expensive and will only be done once. + +In the more general discussion on approaches to encoding that followed, +these points were made: + +BESSER identified the underlying problem with standards that all have to +struggle with in adopting a standard, namely, the tension between a very +highly defined standard that is very interchangeable but does not work +for everyone because something is lacking, and a standard that is less +defined, more open, more adaptable, but less interchangeable. Contending +that the way in which people use SGML is not sufficiently defined, BESSER +wondered 1) if people resist the TEI because they think it is too defined +in certain things they do not fit into, and 2) how progress with +interchangeability can be made without frightening people away. + +SPERBERG-McQUEEN replied that the published drafts of the TEI had met +with surprisingly little objection on the grounds that they do not allow +one to handle X or Y or Z. Particular concerns of the affiliated +projects have led, in practice, to discussions of how extensions are to +be made; the primary concern of any project has to be how it can be +represented locally, thus making interchange secondary. The TEI has +received much criticism based on the notion that everything in it is +required or even recommended, which, as it happens, is a misconception +from the beginning, because none of it is required and very little is +actually actively recommended for all cases, except that one document +one's source. + +SPERBERG-McQUEEN agreed with BESSER about this trade-off: all the +projects in a set of twenty TEI-conformant projects will not necessarily +tag the material in the same way. One result of the TEI will be that the +easiest problems will be solved--those dealing with the external form of +the information; but the problem that is hardest in interchange is that +one is not encoding what another wants, and vice versa. Thus, after +the adoption of a common notation, the differences in the underlying +conceptions of what is interesting about texts become more visible. +The success of a standard like the TEI will lie in the ability of +the recipient of interchanged texts to use some of what it contains +and to add the information that was not encoded that one wants, in a +layered way, so that texts can be gradually enriched and one does not +have to put in everything all at once. Hence, having a well-behaved +markup scheme is important. + +STEVENS followed up on the paradoxical analogy that BESSER alluded to in +the example of the MARC records, namely, the formats that are the same +except that they are different. STEVENS drew a parallel between +document-type definitions and MARC records for books and serials and maps, +where one has a tagging structure and there is a text-interchange. +STEVENS opined that the producers of the information will set the terms +for the standard (i.e., develop document-type definitions for the users +of their products), creating a situation that will be problematical for +an institution like the Library of Congress, which will have to deal with +the DTDs in the event that a multiplicity of them develops. Thus, +numerous people are seeking a standard but cannot find the tag set that +will be acceptable to them and their clients. SPERBERG-McQUEEN agreed +with this view, and said that the situation was in a way worse: attempting +to unify arbitrary DTDs resembled attempting to unify a MARC record with a +bibliographic record done according to the Prussian instructions. +According to STEVENS, this situation occurred very early in the process. + +WATERS recalled from early discussions on Project Open Book the concern +of many people that merely by producing images, POB was not really +enhancing intellectual access to the material. Nevertheless, not wishing +to overemphasize the opposition between imaging and full text, WATERS +stated that POB views getting the images as a first step toward possibly +converting to full text through character recognition, if the technology +is appropriate. WATERS also emphasized that encoding is involved even +with a set of images. + +SPERBERG-McQUEEN agreed with WATERS that one can create an SGML document +consisting wholly of images. At first sight, organizing graphic images +with an SGML document may not seem to offer great advantages, but the +advantages of the scheme WATERS described would be precisely that +ability to move into something that is more of a multimedia document: +a combination of transcribed text and page images. WEIBEL concurred in +this judgment, offering evidence from Project ADAPT, where a page is +divided into text elements and graphic elements, and in fact the text +elements are organized by columns and lines. These lines may be used as +the basis for distributing documents in a network environment. As one +develops software intelligent enough to recognize what those elements +are, it makes sense to apply SGML to an image initially, that may, in +fact, ultimately become more and more text, either through OCR or edited +OCR or even just through keying. For WATERS, the labor of composing the +document and saying this set of documents or this set of images belongs +to this document constitutes a significant investment. + +WEIBEL also made the point that the AAP tag sets, while not excessively +prescriptive, offer a common starting point; they do not define the +structure of the documents, though. They have some recommendations about +DTDs one could use as examples, but they do just suggest tag sets. For +example, the CORE project attempts to use the AAP markup as much as +possible, but there are clearly areas where structure must be added. +That in no way contradicts the use of AAP tag sets. + +SPERBERG-McQUEEN noted that the TEI prepared a long working paper early +on about the AAP tag set and what it lacked that the TEI thought it +needed, and a fairly long critique of the naming conventions, which has +led to a very different style of naming in the TEI. He stressed the +importance of the opposition between prescriptive markup, the kind that a +publisher or anybody can do when producing documents de novo, and +descriptive markup, in which one has to take what the text carrier +provides. In these particular tag sets it is easy to overemphasize this +opposition, because the AAP tag set is extremely flexible. Even if one +just used the DTDs, they allow almost anything to appear almost anywhere. + + ****** + +SESSION VI. COPYRIGHT ISSUES + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +PETERS * Several cautions concerning copyright in an electronic +environment * Review of copyright law in the United States * The notion +of the public good and the desirability of incentives to promote it * +What copyright protects * Works not protected by copyright * The rights +of copyright holders * Publishers' concerns in today's electronic +environment * Compulsory licenses * The price of copyright in a digital +medium and the need for cooperation * Additional clarifications * Rough +justice oftentimes the outcome in numerous copyright matters * Copyright +in an electronic society * Copyright law always only sets up the +boundaries; anything can be changed by contract * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +Marybeth PETERS, policy planning adviser to the Register of Copyrights, +Library of Congress, made several general comments and then opened the +floor to discussion of subjects of interest to the audience. + +Having attended several sessions in an effort to gain a sense of what +people did and where copyright would affect their lives, PETERS expressed +the following cautions: + + * If one takes and converts materials and puts them in new forms, + then, from a copyright point of view, one is creating something and + will receive some rights. + + * However, if what one is converting already exists, a question + immediately arises about the status of the materials in question. + + * Putting something in the public domain in the United States offers + some freedom from anxiety, but distributing it throughout the world + on a network is another matter, even if one has put it in the public + domain in the United States. Re foreign laws, very frequently a + work can be in the public domain in the United States but protected + in other countries. Thus, one must consider all of the places a + work may reach, lest one unwittingly become liable to being faced + with a suit for copyright infringement, or at least a letter + demanding discussion of what one is doing. + +PETERS reviewed copyright law in the United States. The U.S. +Constitution effectively states that Congress has the power to enact +copyright laws for two purposes: 1) to encourage the creation and +dissemination of intellectual works for the good of society as a whole; +and, significantly, 2) to give creators and those who package and +disseminate materials the economic rewards that are due them. + +Congress strives to strike a balance, which at times can become an +emotional issue. The United States has never accepted the notion of the +natural right of an author so much as it has accepted the notion of the +public good and the desirability of incentives to promote it. This state +of affairs, however, has created strains on the international level and +is the reason for several of the differences in the laws that we have. +Today the United States protects almost every kind of work that can be +called an expression of an author. The standard for gaining copyright +protection is simply originality. This is a low standard and means that +a work is not copied from something else, as well as shows a certain +minimal amount of authorship. One can also acquire copyright protection +for making a new version of preexisting material, provided it manifests +some spark of creativity. + +However, copyright does not protect ideas, methods, systems--only the way +that one expresses those things. Nor does copyright protect anything +that is mechanical, anything that does not involve choice, or criteria +concerning whether or not one should do a thing. For example, the +results of a process called declicking, in which one mechanically removes +impure sounds from old recordings, are not copyrightable. On the other +hand, the choice to record a song digitally and to increase the sound of +violins or to bring up the tympani constitutes the results of conversion +that are copyrightable. Moreover, if a work is protected by copyright in +the United States, one generally needs the permission of the copyright +owner to convert it. Normally, who will own the new--that is, converted- +-material is a matter of contract. In the absence of a contract, the +person who creates the new material is the author and owner. But people +do not generally think about the copyright implications until after the +fact. PETERS stressed the need when dealing with copyrighted works to +think about copyright in advance. One's bargaining power is much greater +up front than it is down the road. + +PETERS next discussed works not protected by copyright, for example, any +work done by a federal employee as part of his or her official duties is +in the public domain in the United States. The issue is not wholly free +of doubt concerning whether or not the work is in the public domain +outside the United States. Other materials in the public domain include: +any works published more than seventy-five years ago, and any work +published in the United States more than twenty-eight years ago, whose +copyright was not renewed. In talking about the new technology and +putting material in a digital form to send all over the world, PETERS +cautioned, one must keep in mind that while the rights may not be an +issue in the United States, they may be in different parts of the world, +where most countries previously employed a copyright term of the life of +the author plus fifty years. + +PETERS next reviewed the economics of copyright holding. Simply, +economic rights are the rights to control the reproduction of a work in +any form. They belong to the author, or in the case of a work made for +hire, the employer. The second right, which is critical to conversion, +is the right to change a work. The right to make new versions is perhaps +one of the most significant rights of authors, particularly in an +electronic world. The third right is the right to publish the work and +the right to disseminate it, something that everyone who deals in an +electronic medium needs to know. The basic rule is if a copy is sold, +all rights of distribution are extinguished with the sale of that copy. +The key is that it must be sold. A number of companies overcome this +obstacle by leasing or renting their product. These companies argue that +if the material is rented or leased and not sold, they control the uses +of a work. The fourth right, and one very important in a digital world, +is a right of public performance, which means the right to show the work +sequentially. For example, copyright owners control the showing of a +CD-ROM product in a public place such as a public library. The reverse +side of public performance is something called the right of public +display. Moral rights also exist, which at the federal level apply only +to very limited visual works of art, but in theory may apply under +contract and other principles. Moral rights may include the right of an +author to have his or her name on a work, the right of attribution, and +the right to object to distortion or mutilation--the right of integrity. + +The way copyright law is worded gives much latitude to activities such as +preservation; to use of material for scholarly and research purposes when +the user does not make multiple copies; and to the generation of +facsimile copies of unpublished works by libraries for themselves and +other libraries. But the law does not allow anyone to become the +distributor of the product for the entire world. In today's electronic +environment, publishers are extremely concerned that the entire world is +networked and can obtain the information desired from a single copy in a +single library. Hence, if there is to be only one sale, which publishers +may choose to live with, they will obtain their money in other ways, for +example, from access and use. Hence, the development of site licenses +and other kinds of agreements to cover what publishers believe they +should be compensated for. Any solution that the United States takes +today has to consider the international arena. + +Noting that the United States is a member of the Berne Convention and +subscribes to its provisions, PETERS described the permissions process. +She also defined compulsory licenses. A compulsory license, of which the +United States has had a few, builds into the law the right to use a work +subject to certain terms and conditions. In the international arena, +however, the ability to use compulsory licenses is extremely limited. +Thus, clearinghouses and other collectives comprise one option that has +succeeded in providing for use of a work. Often overlooked when one +begins to use copyrighted material and put products together is how +expensive the permissions process and managing it is. According to +PETERS, the price of copyright in a digital medium, whatever solution is +worked out, will include managing and assembling the database. She +strongly recommended that publishers and librarians or people with +various backgrounds cooperate to work out administratively feasible +systems, in order to produce better results. + +In the lengthy question-and-answer period that followed PETERS's +presentation, the following points emerged: + + * The Copyright Office maintains that anything mechanical and + totally exhaustive probably is not protected. In the event that + what an individual did in developing potentially copyrightable + material is not understood, the Copyright Office will ask about the + creative choices the applicant chose to make or not to make. As a + practical matter, if one believes she or he has made enough of those + choices, that person has a right to assert a copyright and someone + else must assert that the work is not copyrightable. The more + mechanical, the more automatic, a thing is, the less likely it is to + be copyrightable. + + * Nearly all photographs are deemed to be copyrightable, but no one + worries about them much, because everyone is free to take the same + image. Thus, a photographic copyright represents what is called a + "thin" copyright. The photograph itself must be duplicated, in + order for copyright to be violated. + + * The Copyright Office takes the position that X-rays are not + copyrightable because they are mechanical. It can be argued + whether or not image enhancement in scanning can be protected. One + must exercise care with material created with public funds and + generally in the public domain. An article written by a federal + employee, if written as part of official duties, is not + copyrightable. However, control over a scientific article written + by a National Institutes of Health grantee (i.e., someone who + receives money from the U.S. government), depends on NIH policy. If + the government agency has no policy (and that policy can be + contained in its regulations, the contract, or the grant), the + author retains copyright. If a provision of the contract, grant, or + regulation states that there will be no copyright, then it does not + exist. When a work is created, copyright automatically comes into + existence unless something exists that says it does not. + + * An enhanced electronic copy of a print copy of an older reference + work in the public domain that does not contain copyrightable new + material is a purely mechanical rendition of the original work, and + is not copyrightable. + + * Usually, when a work enters the public domain, nothing can remove + it. For example, Congress recently passed into law the concept of + automatic renewal, which means that copyright on any work published + between l964 and l978 does not have to be renewed in order to + receive a seventy-five-year term. But any work not renewed before + 1964 is in the public domain. + + * Concerning whether or not the United States keeps track of when + authors die, nothing was ever done, nor is anything being done at + the moment by the Copyright Office. + + * Software that drives a mechanical process is itself copyrightable. + If one changes platforms, the software itself has a copyright. The + World Intellectual Property Organization will hold a symposium 28 + March through 2 April l993, at Harvard University, on digital + technology, and will study this entire issue. If one purchases a + computer software package, such as MacPaint, and creates something + new, one receives protection only for that which has been added. + +PETERS added that often in copyright matters, rough justice is the +outcome, for example, in collective licensing, ASCAP (i.e., American +Society of Composers, Authors, and Publishers), and BMI (i.e., Broadcast +Music, Inc.), where it may seem that the big guys receive more than their +due. Of course, people ought not to copy a creative product without +paying for it; there should be some compensation. But the truth of the +world, and it is not a great truth, is that the big guy gets played on +the radio more frequently than the little guy, who has to do much more +until he becomes a big guy. That is true of every author, every +composer, everyone, and, unfortunately, is part of life. + +Copyright always originates with the author, except in cases of works +made for hire. (Most software falls into this category.) When an author +sends his article to a journal, he has not relinquished copyright, though +he retains the right to relinquish it. The author receives absolutely +everything. The less prominent the author, the more leverage the +publisher will have in contract negotiations. In order to transfer the +rights, the author must sign an agreement giving them away. + +In an electronic society, it is important to be able to license a writer +and work out deals. With regard to use of a work, it usually is much +easier when a publisher holds the rights. In an electronic era, a real +problem arises when one is digitizing and making information available. +PETERS referred again to electronic licensing clearinghouses. Copyright +ought to remain with the author, but as one moves forward globally in the +electronic arena, a middleman who can handle the various rights becomes +increasingly necessary. + +The notion of copyright law is that it resides with the individual, but +in an on-line environment, where a work can be adapted and tinkered with +by many individuals, there is concern. If changes are authorized and +there is no agreement to the contrary, the person who changes a work owns +the changes. To put it another way, the person who acquires permission +to change a work technically will become the author and the owner, unless +some agreement to the contrary has been made. It is typical for the +original publisher to try to control all of the versions and all of the +uses. Copyright law always only sets up the boundaries. Anything can be +changed by contract. + + ****** + +SESSION VII. CONCLUSION + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +GENERAL DISCUSSION * Two questions for discussion * Different emphases in +the Workshop * Bringing the text and image partisans together * +Desiderata in planning the long-term development of something * Questions +surrounding the issue of electronic deposit * Discussion of electronic +deposit as an allusion to the issue of standards * Need for a directory +of preservation projects in digital form and for access to their +digitized files * CETH's catalogue of machine-readable texts in the +humanities * What constitutes a publication in the electronic world? * +Need for LC to deal with the concept of on-line publishing * LC's Network +Development Office exploring the limits of MARC as a standard in terms +of handling electronic information * Magnitude of the problem and the +need for distributed responsibility in order to maintain and store +electronic information * Workshop participants to be viewed as a starting +point * Development of a network version of AM urged * A step toward AM's +construction of some sort of apparatus for network access * A delicate +and agonizing policy question for LC * Re the issue of electronic +deposit, LC urged to initiate a catalytic process in terms of distributed +responsibility * Suggestions for cooperative ventures * Commercial +publishers' fears * Strategic questions for getting the image and text +people to think through long-term cooperation * Clarification of the +driving force behind both the Perseus and the Cornell Xerox projects * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +In his role as moderator of the concluding session, GIFFORD raised two +questions he believed would benefit from discussion: 1) Are there enough +commonalities among those of us that have been here for two days so that +we can see courses of action that should be taken in the future? And, if +so, what are they and who might take them? 2) Partly derivative from +that, but obviously very dangerous to LC as host, do you see a role for +the Library of Congress in all this? Of course, the Library of Congress +holds a rather special status in a number of these matters, because it is +not perceived as a player with an economic stake in them, but are there +roles that LC can play that can help advance us toward where we are heading? + +Describing himself as an uninformed observer of the technicalities of the +last two days, GIFFORD detected three different emphases in the Workshop: +1) people who are very deeply committed to text; 2) people who are almost +passionate about images; and 3) a few people who are very committed to +what happens to the networks. In other words, the new networking +dimension, the accessibility of the processability, the portability of +all this across the networks. How do we pull those three together? + +Adding a question that reflected HOCKEY's comment that this was the +fourth workshop she had attended in the previous thirty days, FLEISCHHAUER +wondered to what extent this meeting had reinvented the wheel, or if it +had contributed anything in the way of bringing together a different group +of people from those who normally appear on the workshop circuit. + +HOCKEY confessed to being struck at this meeting and the one the +Electronic Pierce Consortium organized the previous week that this was a +coming together of people working on texts and not images. Attempting to +bring the two together is something we ought to be thinking about for the +future: How one can think about working with image material to begin +with, but structuring it and digitizing it in such a way that at a later +stage it can be interpreted into text, and find a common way of building +text and images together so that they can be used jointly in the future, +with the network support to begin there because that is how people will +want to access it. + +In planning the long-term development of something, which is what is +being done in electronic text, HOCKEY stressed the importance not only +of discussing the technical aspects of how one does it but particularly +of thinking about what the people who use the stuff will want to do. +But conversely, there are numerous things that people start to do with +electronic text or material that nobody ever thought of in the beginning. + +LESK, in response to the question concerning the role of the Library of +Congress, remarked the often suggested desideratum of having electronic +deposit: Since everything is now computer-typeset, an entire decade of +material that was machine-readable exists, but the publishers frequently +did not save it; has LC taken any action to have its copyright deposit +operation start collecting these machine-readable versions? In the +absence of PETERS, GIFFORD replied that the question was being +actively considered but that that was only one dimension of the problem. +Another dimension is the whole question of the integrity of the original +electronic document. It becomes highly important in science to prove +authorship. How will that be done? + +ERWAY explained that, under the old policy, to make a claim for a +copyright for works that were published in electronic form, including +software, one had to submit a paper copy of the first and last twenty +pages of code--something that represented the work but did not include +the entire work itself and had little value to anyone. As a temporary +measure, LC has claimed the right to demand electronic versions of +electronic publications. This measure entails a proactive role for the +Library to say that it wants a particular electronic version. Publishers +then have perhaps a year to submit it. But the real problem for LC is +what to do with all this material in all these different formats. Will +the Library mount it? How will it give people access to it? How does LC +keep track of the appropriate computers, software, and media? The situation +is so hard to control, ERWAY said, that it makes sense for each publishing +house to maintain its own archive. But LC cannot enforce that either. + +GIFFORD acknowledged LESK's suggestion that establishing a priority +offered the solution, albeit a fairly complicated one. But who maintains +that register?, he asked. GRABER noted that LC does attempt to collect a +Macintosh version and the IBM-compatible version of software. It does +not collect other versions. But while true for software, BYRUM observed, +this reply does not speak to materials, that is, all the materials that +were published that were on somebody's microcomputer or driver tapes +at a publishing office across the country. LC does well to acquire +specific machine-readable products selectively that were intended to be +machine-readable. Materials that were in machine-readable form at one time, +BYRUM said, would be beyond LC's capability at the moment, insofar as +attempting to acquire, organize, and preserve them are concerned--and +preservation would be the most important consideration. In this +connection, GIFFORD reiterated the need to work out some sense of +distributive responsibility for a number of these issues, which +inevitably will require significant cooperation and discussion. +Nobody can do it all. + +LESK suggested that some publishers may look with favor on LC beginning +to serve as a depository of tapes in an electronic manuscript standard. +Publishers may view this as a service that they did not have to perform +and they might send in tapes. However, SPERBERG-McQUEEN countered, +although publishers have had equivalent services available to them for a +long time, the electronic text archive has never turned away or been +flooded with tapes and is forever sending feedback to the depositor. +Some publishers do send in tapes. + +ANDRE viewed this discussion as an allusion to the issue of standards. +She recommended that the AAP standard and the TEI, which has already been +somewhat harmonized internationally and which also shares several +compatibilities with the AAP, be harmonized to ensure sufficient +compatibility in the software. She drew the line at saying LC ought to +be the locus or forum for such harmonization. + +Taking the group in a slightly different direction, but one where at +least in the near term LC might play a helpful role, LYNCH remarked the +plans of a number of projects to carry out preservation by creating +digital images that will end up in on-line or near-line storage at some +institution. Presumably, LC will link this material somehow to its +on-line catalog in most cases. Thus, it is in a digital form. LYNCH had +the impression that many of these institutions would be willing to make +those files accessible to other people outside the institution, provided +that there is no copyright problem. This desideratum will require +propagating the knowledge that those digitized files exist, so that they +can end up in other on-line catalogs. Although uncertain about the +mechanism for achieving this result, LYNCH said that it warranted +scrutiny because it seemed to be connected to some of the basic issues of +cataloging and distribution of records. It would be foolish, given the +amount of work that all of us have to do and our meager resources, to +discover multiple institutions digitizing the same work. Re microforms, +LYNCH said, we are in pretty good shape. + +BATTIN called this a big problem and noted that the Cornell people (who +had already departed) were working on it. At issue from the beginning +was to learn how to catalog that information into RLIN and then into +OCLC, so that it would be accessible. That issue remains to be resolved. +LYNCH rejoined that putting it into OCLC or RLIN was helpful insofar as +somebody who is thinking of performing preservation activity on that work +could learn about it. It is not necessarily helpful for institutions to +make that available. BATTIN opined that the idea was that it not only be +for preservation purposes but for the convenience of people looking for +this material. She endorsed LYNCH's dictum that duplication of this +effort was to be avoided by every means. + +HOCKEY informed the Workshop about one major current activity of CETH, +namely a catalogue of machine-readable texts in the humanities. Held on +RLIN at present, the catalogue has been concentrated on ASCII as opposed +to digitized images of text. She is exploring ways to improve the +catalogue and make it more widely available, and welcomed suggestions +about these concerns. CETH owns the records, which are not just +restricted to RLIN, and can distribute them however it wishes. + +Taking up LESK's earlier question, BATTIN inquired whether LC, since it +is accepting electronic files and designing a mechanism for dealing with +that rather than putting books on shelves, would become responsible for +the National Copyright Depository of Electronic Materials. Of course +that could not be accomplished overnight, but it would be something LC +could plan for. GIFFORD acknowledged that much thought was being devoted +to that set of problems and returned the discussion to the issue raised +by LYNCH--whether or not putting the kind of records that both BATTIN and +HOCKEY have been talking about in RLIN is not a satisfactory solution. +It seemed to him that RLIN answered LYNCH's original point concerning +some kind of directory for these kinds of materials. In a situation +where somebody is attempting to decide whether or not to scan this or +film that or to learn whether or not someone has already done so, LYNCH +suggested, RLIN is helpful, but it is not helpful in the case of a local, +on-line catalogue. Further, one would like to have her or his system be +aware that that exists in digital form, so that one can present it to a +patron, even though one did not digitize it, if it is out of copyright. +The only way to make those linkages would be to perform a tremendous +amount of real-time look-up, which would be awkward at best, or +periodically to yank the whole file from RLIN and match it against one's +own stuff, which is a nuisance. + +But where, ERWAY inquired, does one stop including things that are +available with Internet, for instance, in one's local catalogue? +It almost seems that that is LC's means to acquire access to them. +That represents LC's new form of library loan. Perhaps LC's new on-line +catalogue is an amalgamation of all these catalogues on line. LYNCH +conceded that perhaps that was true in the very long term, but was not +applicable to scanning in the short term. In his view, the totals cited +by Yale, 10,000 books over perhaps a four-year period, and 1,000-1,500 +books from Cornell, were not big numbers, while searching all over +creation for relatively rare occurrences will prove to be less efficient. +As GIFFORD wondered if this would not be a separable file on RLIN and +could be requested from them, BATTIN interjected that it was easily +accessible to an institution. SEVERTSON pointed out that that file, cum +enhancements, was available with reference information on CD-ROM, which +makes it a little more available. + +In HOCKEY's view, the real question facing the Workshop is what to put in +this catalogue, because that raises the question of what constitutes a +publication in the electronic world. (WEIBEL interjected that Eric Joule +in OCLC's Office of Research is also wrestling with this particular +problem, while GIFFORD thought it sounded fairly generic.) HOCKEY +contended that a majority of texts in the humanities are in the hands +of either a small number of large research institutions or individuals +and are not generally available for anyone else to access at all. +She wondered if these texts ought to be catalogued. + +After argument proceeded back and forth for several minutes over why +cataloguing might be a necessary service, LEBRON suggested that this +issue involved the responsibility of a publisher. The fact that someone +has created something electronically and keeps it under his or her +control does not constitute publication. Publication implies +dissemination. While it would be important for a scholar to let other +people know that this creation exists, in many respects this is no +different from an unpublished manuscript. That is what is being accessed +in there, except that now one is not looking at it in the hard-copy but +in the electronic environment. + +LEBRON expressed puzzlement at the variety of ways electronic publishing +has been viewed. Much of what has been discussed throughout these two +days has concerned CD-ROM publishing, whereas in the on-line environment +that she confronts, the constraints and challenges are very different. +Sooner or later LC will have to deal with the concept of on-line +publishing. Taking up the comment ERWAY made earlier about storing +copies, LEBRON gave her own journal as an example. How would she deposit +OJCCT for copyright?, she asked, because the journal will exist in the +mainframe at OCLC and people will be able to access it. Here the +situation is different, ownership versus access, and is something that +arises with publication in the on-line environment, faster than is +sometimes realized. Lacking clear answers to all of these questions +herself, LEBRON did not anticipate that LC would be able to take a role +in helping to define some of them for quite a while. + +GREENFIELD observed that LC's Network Development Office is attempting, +among other things, to explore the limits of MARC as a standard in terms +of handling electronic information. GREENFIELD also noted that Rebecca +GUENTHER from that office gave a paper to the American Society for +Information Science (ASIS) summarizing several of the discussion papers +that were coming out of the Network Development Office. GREENFIELD said +he understood that that office had a list-server soliciting just the kind +of feedback received today concerning the difficulties of identifying and +cataloguing electronic information. GREENFIELD hoped that everybody +would be aware of that and somehow contribute to that conversation. + +Noting two of LC's roles, first, to act as a repository of record for +material that is copyrighted in this country, and second, to make +materials it holds available in some limited form to a clientele that +goes beyond Congress, BESSER suggested that it was incumbent on LC to +extend those responsibilities to all the things being published in +electronic form. This would mean eventually accepting electronic +formats. LC could require that at some point they be in a certain +limited set of formats, and then develop mechanisms for allowing people +to access those in the same way that other things are accessed. This +does not imply that they are on the network and available to everyone. +LC does that with most of its bibliographic records, BESSER said, which +end up migrating to the utility (e.g., OCLC) or somewhere else. But just +as most of LC's books are available in some form through interlibrary +loan or some other mechanism, so in the same way electronic formats ought +to be available to others in some format, though with some copyright +considerations. BESSER was not suggesting that these mechanisms be +established tomorrow, only that they seemed to fall within LC's purview, +and that there should be long-range plans to establish them. + +Acknowledging that those from LC in the room agreed with BESSER +concerning the need to confront difficult questions, GIFFORD underscored +the magnitude of the problem of what to keep and what to select. GIFFORD +noted that LC currently receives some 31,000 items per day, not counting +electronic materials, and argued for much more distributed responsibility +in order to maintain and store electronic information. + +BESSER responded that the assembled group could be viewed as a starting +point, whose initial operating premise could be helping to move in this +direction and defining how LC could do so, for example, in areas of +standardization or distribution of responsibility. + +FLEISCHHAUER added that AM was fully engaged, wrestling with some of the +questions that pertain to the conversion of older historical materials, +which would be one thing that the Library of Congress might do. Several +points mentioned by BESSER and several others on this question have a +much greater impact on those who are concerned with cataloguing and the +networking of bibliographic information, as well as preservation itself. + +Speaking directly to AM, which he considered was a largely uncopyrighted +database, LYNCH urged development of a network version of AM, or +consideration of making the data in it available to people interested in +doing network multimedia. On account of the current great shortage of +digital data that is both appealing and unencumbered by complex rights +problems, this course of action could have a significant effect on making +network multimedia a reality. + +In this connection, FLEISCHHAUER reported on a fragmentary prototype in +LC's Office of Information Technology Services that attempts to associate +digital images of photographs with cataloguing information in ways that +work within a local area network--a step, so to say, toward AM's +construction of some sort of apparatus for access. Further, AM has +attempted to use standard data forms in order to help make that +distinction between the access tools and the underlying data, and thus +believes that the database is networkable. + +A delicate and agonizing policy question for LC, however, which comes +back to resources and unfortunately has an impact on this, is to find +some appropriate, honorable, and legal cost-recovery possibilities. A +certain skittishness concerning cost-recovery has made people unsure +exactly what to do. AM would be highly receptive to discussing further +LYNCH's offer to test or demonstrate its database in a network +environment, FLEISCHHAUER said. + +Returning the discussion to what she viewed as the vital issue of +electronic deposit, BATTIN recommended that LC initiate a catalytic +process in terms of distributed responsibility, that is, bring together +the distributed organizations and set up a study group to look at all +these issues and see where we as a nation should move. The broader +issues of how we deal with the management of electronic information will +not disappear, but only grow worse. + +LESK took up this theme and suggested that LC attempt to persuade one +major library in each state to deal with its state equivalent publisher, +which might produce a cooperative project that would be equitably +distributed around the country, and one in which LC would be dealing with +a minimal number of publishers and minimal copyright problems. + +GRABER remarked the recent development in the scientific community of a +willingness to use SGML and either deposit or interchange on a fairly +standardized format. He wondered if a similar movement was taking place +in the humanities. Although the National Library of Medicine found only +a few publishers to cooperate in a like venture two or three years ago, a +new effort might generate a much larger number willing to cooperate. + +KIMBALL recounted his unit's (Machine-Readable Collections Reading Room) +troubles with the commercial publishers of electronic media in acquiring +materials for LC's collections, in particular the publishers' fear that +they would not be able to cover their costs and would lose control of +their products, that LC would give them away or sell them and make +profits from them. He doubted that the publishing industry was prepared +to move into this area at the moment, given its resistance to allowing LC +to use its machine-readable materials as the Library would like. + +The copyright law now addresses compact disk as a medium, and LC can +request one copy of that, or two copies if it is the only version, and +can request copies of software, but that fails to address magazines or +books or anything like that which is in machine-readable form. + +GIFFORD acknowledged the thorny nature of this issue, which he illustrated +with the example of the cumbersome process involved in putting a copy of a +scientific database on a LAN in LC's science reading room. He also +acknowledged that LC needs help and could enlist the energies and talents +of Workshop participants in thinking through a number of these problems. + +GIFFORD returned the discussion to getting the image and text people to +think through together where they want to go in the long term. MYLONAS +conceded that her experience at the Pierce Symposium the previous week at +Georgetown University and this week at LC had forced her to reevaluate +her perspective on the usefulness of text as images. MYLONAS framed the +issues in a series of questions: How do we acquire machine-readable +text? Do we take pictures of it and perform OCR on it later? Is it +important to obtain very high-quality images and text, etc.? +FLEISCHHAUER agreed with MYLONAS's framing of strategic questions, adding +that a large institution such as LC probably has to do all of those +things at different times. Thus, the trick is to exercise judgment. The +Workshop had added to his and AM's considerations in making those +judgments. Concerning future meetings or discussions, MYLONAS suggested +that screening priorities would be helpful. + +WEIBEL opined that the diversity reflected in this group was a sign both +of the health and of the immaturity of the field, and more time would +have to pass before we convince one another concerning standards. + +An exchange between MYLONAS and BATTIN clarified the point that the +driving force behind both the Perseus and the Cornell Xerox projects was +the preservation of knowledge for the future, not simply for particular +research use. In the case of Perseus, MYLONAS said, the assumption was +that the texts would not be entered again into electronically readable +form. SPERBERG-McQUEEN added that a scanned image would not serve as an +archival copy for purposes of preservation in the case of, say, the Bill +of Rights, in the sense that the scanned images are effectively the +archival copies for the Cornell mathematics books. + + + *** *** *** ****** *** *** *** + + + Appendix I: PROGRAM + + + + WORKSHOP + ON + ELECTRONIC + TEXTS + + + + 9-10 June 1992 + + Library of Congress + Washington, D.C. + + + + Supported by a Grant from the David and Lucile Packard Foundation + + +Tuesday, 9 June 1992 + +NATIONAL DEMONSTRATION LAB, ATRIUM, LIBRARY MADISON + +8:30 AM Coffee and Danish, registration + +9:00 AM Welcome + + Prosser Gifford, Director for Scholarly Programs, and Carl + Fleischhauer, Coordinator, American Memory, Library of + Congress + +9:l5 AM Session I. Content in a New Form: Who Will Use It and What + Will They Do? + + Broad description of the range of electronic information. + Characterization of who uses it and how it is or may be used. + In addition to a look at scholarly uses, this session will + include a presentation on use by students (K-12 and college) + and the general public. + + Moderator: James Daly + Avra Michelson, Archival Research and Evaluation Staff, + National Archives and Records Administration (Overview) + Susan H. Veccia, Team Leader, American Memory, User Evaluation, + and + Joanne Freeman, Associate Coordinator, American Memory, Library + of Congress (Beyond the scholar) + +10:30- +11:00 AM Break + +11:00 AM Session II. Show and Tell. + + Each presentation to consist of a fifteen-minute + statement/show; group discussion will follow lunch. + + Moderator: Jacqueline Hess, Director, National Demonstration + Lab + + 1. A classics project, stressing texts and text retrieval + more than multimedia: Perseus Project, Harvard + University + Elli Mylonas, Managing Editor + + 2. Other humanities projects employing the emerging norms of + the Text Encoding Initiative (TEI): Chadwyck-Healey's + The English Poetry Full Text Database and/or Patrologia + Latina Database + Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc. + + 3. American Memory + Carl Fleischhauer, Coordinator, and + Ricky Erway, Associate Coordinator, Library of Congress + + 4. Founding Fathers example from Packard Humanities + Institute: The Papers of George Washington, University + of Virginia + Dorothy Twohig, Managing Editor, and/or + David Woodley Packard + + 5. An electronic medical journal offering graphics and + full-text searchability: The Online Journal of Current + Clinical Trials, American Association for the Advancement + of Science + Maria L. Lebron, Managing Editor + + 6. A project that offers facsimile images of pages but omits + searchable text: Cornell math books + Lynne K. Personius, Assistant Director, Cornell + Information Technologies for Scholarly Information + Sources, Cornell University + +12:30 PM Lunch (Dining Room A, Library Madison 620. Exhibits + available.) + +1:30 PM Session II. Show and Tell (Cont'd.). + +3:00- +3:30 PM Break + +3:30- +5:30 PM Session III. Distribution, Networks, and Networking: Options + for Dissemination. + + Published disks: University presses and public-sector + publishers, private-sector publishers + Computer networks + + Moderator: Robert G. Zich, Special Assistant to the Associate + Librarian for Special Projects, Library of Congress + Clifford A. Lynch, Director, Library Automation, University of + California + Howard Besser, School of Library and Information Science, + University of Pittsburgh + Ronald L. Larsen, Associate Director of Libraries for + Information Technology, University of Maryland at College + Park + Edwin B. Brownrigg, Executive Director, Memex Research + Institute + +6:30 PM Reception (Montpelier Room, Library Madison 619.) + + ****** + +Wednesday, 10 June 1992 + +DINING ROOM A, LIBRARY MADISON 620 + +8:30 AM Coffee and Danish + +9:00 AM Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats. + + Moderator: William L. Hooton, Vice President of Operations, + I-NET + + A) Principal Methods for Image Capture of Text: + Direct scanning + Use of microform + + Anne R. Kenney, Assistant Director, Department of Preservation + and Conservation, Cornell University + Pamela Q.J. Andre, Associate Director, Automation, and + Judith A. Zidar, Coordinator, National Agricultural Text + Digitizing Program (NATDP), National Agricultural Library + (NAL) + Donald J. Waters, Head, Systems Office, Yale University Library + + B) Special Problems: + Bound volumes + Conservation + Reproducing printed halftones + + Carl Fleischhauer, Coordinator, American Memory, Library of + Congress + George Thoma, Chief, Communications Engineering Branch, + National Library of Medicine (NLM) + +10:30- +11:00 AM Break + +11:00 AM Session IV. Image Capture, Text Capture, Overview of Text and + Image Storage Formats (Cont'd.). + + C) Image Standards and Implications for Preservation + + Jean Baronas, Senior Manager, Department of Standards and + Technology, Association for Information and Image Management + (AIIM) + Patricia Battin, President, The Commission on Preservation and + Access (CPA) + + D) Text Conversion: + OCR vs. rekeying + Standards of accuracy and use of imperfect texts + Service bureaus + + Stuart Weibel, Senior Research Specialist, Online Computer + Library Center, Inc. (OCLC) + Michael Lesk, Executive Director, Computer Science Research, + Bellcore + Ricky Erway, Associate Coordinator, American Memory, Library of + Congress + Pamela Q.J. Andre, Associate Director, Automation, and + Judith A. Zidar, Coordinator, National Agricultural Text + Digitizing Program (NATDP), National Agricultural Library + (NAL) + +12:30- +1:30 PM Lunch + +1:30 PM Session V. Approaches to Preparing Electronic Texts. + + Discussion of approaches to structuring text for the computer; + pros and cons of text coding, description of methods in + practice, and comparison of text-coding methods. + + Moderator: Susan Hockey, Director, Center for Electronic Texts + in the Humanities (CETH), Rutgers and Princeton Universities + David Woodley Packard + C.M. Sperberg-McQueen, Editor, Text Encoding Initiative (TEI), + University of Illinois-Chicago + Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc. + +3:30- +4:00 PM Break + +4:00 PM Session VI. Copyright Issues. + + Marybeth Peters, Policy Planning Adviser to the Register of + Copyrights, Library of Congress + +5:00 PM Session VII. Conclusion. + + General discussion. + What topics were omitted or given short shrift that anyone + would like to talk about now? + Is there a "group" here? What should the group do next, if + anything? What should the Library of Congress do next, if + anything? + Moderator: Prosser Gifford, Director for Scholarly Programs, + Library of Congress + +6:00 PM Adjourn + + + *** *** *** ****** *** *** *** + + + Appendix II: ABSTRACTS + + +SESSION I + +Avra MICHELSON Forecasting the Use of Electronic Texts by + Social Sciences and Humanities Scholars + +This presentation explores the ways in which electronic texts are likely +to be used by the non-scientific scholarly community. Many of the +remarks are drawn from a report the speaker coauthored with Jeff +Rothenberg, a computer scientist at The RAND Corporation. + +The speaker assesses 1) current scholarly use of information technology +and 2) the key trends in information technology most relevant to the +research process, in order to predict how social sciences and humanities +scholars are apt to use electronic texts. In introducing the topic, +current use of electronic texts is explored broadly within the context of +scholarly communication. From the perspective of scholarly +communication, the work of humanities and social sciences scholars +involves five processes: 1) identification of sources, 2) communication +with colleagues, 3) interpretation and analysis of data, 4) dissemination +of research findings, and 5) curriculum development and instruction. The +extent to which computation currently permeates aspects of scholarly +communication represents a viable indicator of the prospects for +electronic texts. + +The discussion of current practice is balanced by an analysis of key +trends in the scholarly use of information technology. These include the +trends toward end-user computing and connectivity, which provide a +framework for forecasting the use of electronic texts through this +millennium. The presentation concludes with a summary of the ways in +which the nonscientific scholarly community can be expected to use +electronic texts, and the implications of that use for information +providers. + +Susan VECCIA and Joanne FREEMAN Electronic Archives for the Public: + Use of American Memory in Public and + School Libraries + +This joint discussion focuses on nonscholarly applications of electronic +library materials, specifically addressing use of the Library of Congress +American Memory (AM) program in a small number of public and school +libraries throughout the United States. AM consists of selected Library +of Congress primary archival materials, stored on optical media +(CD-ROM/videodisc), and presented with little or no editing. Many +collections are accompanied by electronic introductions and user's guides +offering background information and historical context. Collections +represent a variety of formats including photographs, graphic arts, +motion pictures, recorded sound, music, broadsides and manuscripts, +books, and pamphlets. + +In 1991, the Library of Congress began a nationwide evaluation of AM in +different types of institutions. Test sites include public libraries, +elementary and secondary school libraries, college and university +libraries, state libraries, and special libraries. Susan VECCIA and +Joanne FREEMAN will discuss their observations on the use of AM by the +nonscholarly community, using evidence gleaned from this ongoing +evaluation effort. + +VECCIA will comment on the overall goals of the evaluation project, and +the types of public and school libraries included in this study. Her +comments on nonscholarly use of AM will focus on the public library as a +cultural and community institution, often bridging the gap between formal +and informal education. FREEMAN will discuss the use of AM in school +libraries. Use by students and teachers has revealed some broad +questions about the use of electronic resources, as well as definite +benefits gained by the "nonscholar." Topics will include the problem of +grasping content and context in an electronic environment, the stumbling +blocks created by "new" technologies, and the unique skills and interests +awakened through use of electronic resources. + +SESSION II + +Elli MYLONAS The Perseus Project: Interactive Sources and + Studies in Classical Greece + +The Perseus Project (5) has just released Perseus 1.0, the first publicly +available version of its hypertextual database of multimedia materials on +classical Greece. Perseus is designed to be used by a wide audience, +comprised of readers at the student and scholar levels. As such, it must +be able to locate information using different strategies, and it must +contain enough detail to serve the different needs of its users. In +addition, it must be delivered so that it is affordable to its target +audience. [These problems and the solutions we chose are described in +Mylonas, "An Interface to Classical Greek Civilization," JASIS 43:2, +March 1992.] + +In order to achieve its objective, the project staff decided to make a +conscious separation between selecting and converting textual, database, +and image data on the one hand, and putting it into a delivery system on +the other. That way, it is possible to create the electronic data +without thinking about the restrictions of the delivery system. We have +made a great effort to choose system-independent formats for our data, +and to put as much thought and work as possible into structuring it so +that the translation from paper to electronic form will enhance the value +of the data. [A discussion of these solutions as of two years ago is in +Elli Mylonas, Gregory Crane, Kenneth Morrell, and D. Neel Smith, "The +Perseus Project: Data in the Electronic Age," in Accessing Antiquity: +The Computerization of Classical Databases, J. Solomon and T. Worthen +(eds.), University of Arizona Press, in press.] + +Much of the work on Perseus is focused on collecting and converting the +data on which the project is based. At the same time, it is necessary to +provide means of access to the information, in order to make it usable, +and them to investigate how it is used. As we learn more about what +students and scholars from different backgrounds do with Perseus, we can +adjust our data collection, and also modify the system to accommodate +them. In creating a delivery system for general use, we have tried to +avoid favoring any one type of use by allowing multiple forms of access +to and navigation through the system. + +The way text is handled exemplifies some of these principles. All text +in Perseus is tagged using SGML, following the guidelines of the Text +Encoding Initiative (TEI). This markup is used to index the text, and +process it so that it can be imported into HyperCard. No SGML markup +remains in the text that reaches the user, because currently it would be +too expensive to create a system that acts on SGML in real time. +However, the regularity provided by SGML is essential for verifying the +content of the texts, and greatly speeds all the processing performed on +them. The fact that the texts exist in SGML ensures that they will be +relatively easy to port to different hardware and software, and so will +outlast the current delivery platform. Finally, the SGML markup +incorporates existing canonical reference systems (chapter, verse, line, +etc.); indexing and navigation are based on these features. This ensures +that the same canonical reference will always resolve to the same point +within a text, and that all versions of our texts, regardless of delivery +platform (even paper printouts) will function the same way. + +In order to provide tools for users, the text is processed by a +morphological analyzer, and the results are stored in a database. +Together with the index, the Greek-English Lexicon, and the index of all +the English words in the definitions of the lexicon, the morphological +analyses comprise a set of linguistic tools that allow users of all +levels to work with the textual information, and to accomplish different +tasks. For example, students who read no Greek may explore a concept as +it appears in Greek texts by using the English-Greek index, and then +looking up works in the texts and translations, or scholars may do +detailed morphological studies of word use by using the morphological +analyses of the texts. Because these tools were not designed for any one +use, the same tools and the same data can be used by both students and +scholars. + +NOTES: + (5) Perseus is based at Harvard University, with collaborators at + several other universities. The project has been funded primarily + by the Annenberg/CPB Project, as well as by Harvard University, + Apple Computer, and others. It is published by Yale University + Press. Perseus runs on Macintosh computers, under the HyperCard + program. + +Eric CALALUCA + +Chadwyck-Healey embarked last year on two distinct yet related full-text +humanities database projects. + +The English Poetry Full-Text Database and the Patrologia Latina Database +represent new approaches to linguistic research resources. The size and +complexity of the projects present problems for electronic publishers, +but surmountable ones if they remain abreast of the latest possibilities +in data capture and retrieval software techniques. + +The issues which required address prior to the commencement of the +projects were legion: + + 1. Editorial selection (or exclusion) of materials in each + database + + 2. Deciding whether or not to incorporate a normative encoding + structure into the databases? + A. If one is selected, should it be SGML? + B. If SGML, then the TEI? + + 3. Deliver as CD-ROM, magnetic tape, or both? + + 4. Can one produce retrieval software advanced enough for the + postdoctoral linguist, yet accessible enough for unattended + general use? Should one try? + + 5. Re fair and liberal networking policies, what are the risks to + an electronic publisher? + + 6. How does the emergence of national and international education + networks affect the use and viability of research projects + requiring high investment? Do the new European Community + directives concerning database protection necessitate two + distinct publishing projects, one for North America and one for + overseas? + +From new notions of "scholarly fair use" to the future of optical media, +virtually every issue related to electronic publishing was aired. The +result is two projects which have been constructed to provide the quality +research resources with the fewest encumbrances to use by teachers and +private scholars. + +Dorothy TWOHIG + +In spring 1988 the editors of the papers of George Washington, John +Adams, Thomas Jefferson, James Madison, and Benjamin Franklin were +approached by classics scholar David Packard on behalf of the Packard +Humanities Foundation with a proposal to produce a CD-ROM edition of the +complete papers of each of the Founding Fathers. This electronic edition +will supplement the published volumes, making the documents widely +available to students and researchers at reasonable cost. We estimate +that our CD-ROM edition of Washington's Papers will be substantially +completed within the next two years and ready for publication. Within +the next ten years or so, similar CD-ROM editions of the Franklin, Adams, +Jefferson, and Madison papers also will be available. At the Library of +Congress's session on technology, I would like to discuss not only the +experience of the Washington Papers in producing the CD-ROM edition, but +the impact technology has had on these major editorial projects. +Already, we are editing our volumes with an eye to the material that will +be readily available in the CD-ROM edition. The completed electronic +edition will provide immense possibilities for the searching of documents +for information in a way never possible before. The kind of technical +innovations that are currently available and on the drawing board will +soon revolutionize historical research and the production of historical +documents. Unfortunately, much of this new technology is not being used +in the planning stages of historical projects, simply because many +historians are aware only in the vaguest way of its existence. At least +two major new historical editing projects are considering microfilm +editions, simply because they are not aware of the possibilities of +electronic alternatives and the advantages of the new technology in terms +of flexibility and research potential compared to microfilm. In fact, +too many of us in history and literature are still at the stage of +struggling with our PCs. There are many historical editorial projects in +progress presently, and an equal number of literary projects. While the +two fields have somewhat different approaches to textual editing, there +are ways in which electronic technology can be of service to both. + +Since few of the editors involved in the Founding Fathers CD-ROM editions +are technical experts in any sense, I hope to point out in my discussion +of our experience how many of these electronic innovations can be used +successfully by scholars who are novices in the world of new technology. +One of the major concerns of the sponsors of the multitude of new +scholarly editions is the limited audience reached by the published +volumes. Most of these editions are being published in small quantities +and the publishers' price for them puts them out of the reach not only of +individual scholars but of most public libraries and all but the largest +educational institutions. However, little attention is being given to +ways in which technology can bypass conventional publication to make +historical and literary documents more widely available. + +What attracted us most to the CD-ROM edition of The Papers of George +Washington was the fact that David Packard's aim was to make a complete +edition of all of the 135,000 documents we have collected available in an +inexpensive format that would be placed in public libraries, small +colleges, and even high schools. This would provide an audience far +beyond our present 1,000-copy, $45 published edition. Since the CD-ROM +edition will carry none of the explanatory annotation that appears in the +published volumes, we also feel that the use of the CD-ROM will lead many +researchers to seek out the published volumes. + +In addition to ignorance of new technical advances, I have found that too +many editors--and historians and literary scholars--are resistant and +even hostile to suggestions that electronic technology may enhance their +work. I intend to discuss some of the arguments traditionalists are +advancing to resist technology, ranging from distrust of the speed with +which it changes (we are already wondering what is out there that is +better than CD-ROM) to suspicion of the technical language used to +describe electronic developments. + +Maria LEBRON + +The Online Journal of Current Clinical Trials, a joint venture of the +American Association for the Advancement of Science (AAAS) and the Online +Computer Library Center, Inc. (OCLC), is the first peer-reviewed journal +to provide full text, tabular material, and line illustrations on line. +This presentation will discuss the genesis and start-up period of the +journal. Topics of discussion will include historical overview, +day-to-day management of the editorial peer review, and manuscript +tagging and publication. A demonstration of the journal and its features +will accompany the presentation. + +Lynne PERSONIUS + +Cornell University Library, Cornell Information Technologies, and Xerox +Corporation, with the support of the Commission on Preservation and +Access, and Sun Microsystems, Inc., have been collaborating in a project +to test a prototype system for recording brittle books as digital images +and producing, on demand, high-quality archival paper replacements. The +project goes beyond that, however, to investigate some of the issues +surrounding scanning, storing, retrieving, and providing access to +digital images in a network environment. + +The Joint Study in Digital Preservation began in January 1990. Xerox +provided the College Library Access and Storage System (CLASS) software, +a prototype 600-dots-per-inch (dpi) scanner, and the hardware necessary +to support network printing on the DocuTech printer housed in Cornell's +Computing and Communications Center (CCC). + +The Cornell staff using the hardware and software became an integral part +of the development and testing process for enhancements to the CLASS +software system. The collaborative nature of this relationship is +resulting in a system that is specifically tailored to the preservation +application. + +A digital library of 1,000 volumes (or approximately 300,000 images) has +been created and is stored on an optical jukebox that resides in CCC. +The library includes a collection of select mathematics monographs that +provides mathematics faculty with an opportunity to use the electronic +library. The remaining volumes were chosen for the library to test the +various capabilities of the scanning system. + +One project objective is to provide users of the Cornell library and the +library staff with the ability to request facsimiles of digitized images +or to retrieve the actual electronic image for browsing. A prototype +viewing workstation has been created by Xerox, with input into the design +by a committee of Cornell librarians and computer professionals. This +will allow us to experiment with patron access to the images that make up +the digital library. The viewing station provides search, retrieval, and +(ultimately) printing functions with enhancements to facilitate +navigation through multiple documents. + +Cornell currently is working to extend access to the digital library to +readers using workstations from their offices. This year is devoted to +the development of a network resident image conversion and delivery +server, and client software that will support readers who use Apple +Macintosh computers, IBM windows platforms, and Sun workstations. +Equipment for this development was provided by Sun Microsystems with +support from the Commission on Preservation and Access. + +During the show-and-tell session of the Workshop on Electronic Texts, a +prototype view station will be demonstrated. In addition, a display of +original library books that have been digitized will be available for +review with associated printed copies for comparison. The fifteen-minute +overview of the project will include a slide presentation that +constitutes a "tour" of the preservation digitizing process. + +The final network-connected version of the viewing station will provide +library users with another mechanism for accessing the digital library, +and will also provide the capability of viewing images directly. This +will not require special software, although a powerful computer with good +graphics will be needed. + +The Joint Study in Digital Preservation has generated a great deal of +interest in the library community. Unfortunately, or perhaps +fortunately, this project serves to raise a vast number of other issues +surrounding the use of digital technology for the preservation and use of +deteriorating library materials, which subsequent projects will need to +examine. Much work remains. + +SESSION III + +Howard BESSER Networking Multimedia Databases + +What do we have to consider in building and distributing databases of +visual materials in a multi-user environment? This presentation examines +a variety of concerns that need to be addressed before a multimedia +database can be set up in a networked environment. + +In the past it has not been feasible to implement databases of visual +materials in shared-user environments because of technological barriers. +Each of the two basic models for multi-user multimedia databases has +posed its own problem. The analog multimedia storage model (represented +by Project Athena's parallel analog and digital networks) has required an +incredibly complex (and expensive) infrastructure. The economies of +scale that make multi-user setups cheaper per user served do not operate +in an environment that requires a computer workstation, videodisc player, +and two display devices for each user. + +The digital multimedia storage model has required vast amounts of storage +space (as much as one gigabyte per thirty still images). In the past the +cost of such a large amount of storage space made this model a +prohibitive choice as well. But plunging storage costs are finally +making this second alternative viable. + +If storage no longer poses such an impediment, what do we need to +consider in building digitally stored multi-user databases of visual +materials? This presentation will examine the networking and +telecommunication constraints that must be overcome before such databases +can become commonplace and useful to a large number of people. + +The key problem is the vast size of multimedia documents, and how this +affects not only storage but telecommunications transmission time. +Anything slower than T-1 speed is impractical for files of 1 megabyte or +larger (which is likely to be small for a multimedia document). For +instance, even on a 56 Kb line it would take three minutes to transfer a +1-megabyte file. And these figures assume ideal circumstances, and do +not take into consideration other users contending for network bandwidth, +disk access time, or the time needed for remote display. Current common +telephone transmission rates would be completely impractical; few users +would be willing to wait the hour necessary to transmit a single image at +2400 baud. + +This necessitates compression, which itself raises a number of other +issues. In order to decrease file sizes significantly, we must employ +lossy compression algorithms. But how much quality can we afford to +lose? To date there has been only one significant study done of +image-quality needs for a particular user group, and this study did not +look at loss resulting from compression. Only after identifying +image-quality needs can we begin to address storage and network bandwidth +needs. + +Experience with X-Windows-based applications (such as Imagequery, the +University of California at Berkeley image database) demonstrates the +utility of a client-server topology, but also points to the limitation of +current software for a distributed environment. For example, +applications like Imagequery can incorporate compression, but current X +implementations do not permit decompression at the end user's +workstation. Such decompression at the host computer alleviates storage +capacity problems while doing nothing to address problems of +telecommunications bandwidth. + +We need to examine the effects on network through-put of moving +multimedia documents around on a network. We need to examine various +topologies that will help us avoid bottlenecks around servers and +gateways. Experience with applications such as these raise still broader +questions. How closely is the multimedia document tied to the software +for viewing it? Can it be accessed and viewed from other applications? +Experience with the MARC format (and more recently with the Z39.50 +protocols) shows how useful it can be to store documents in a form in +which they can be accessed by a variety of application software. + +Finally, from an intellectual-access standpoint, we need to address the +issue of providing access to these multimedia documents in +interdisciplinary environments. We need to examine terminology and +indexing strategies that will allow us to provide access to this material +in a cross-disciplinary way. + +Ronald LARSEN Directions in High-Performance Networking for + Libraries + +The pace at which computing technology has advanced over the past forty +years shows no sign of abating. Roughly speaking, each five-year period +has yielded an order-of-magnitude improvement in price and performance of +computing equipment. No fundamental hurdles are likely to prevent this +pace from continuing for at least the next decade. It is only in the +past five years, though, that computing has become ubiquitous in +libraries, affecting all staff and patrons, directly or indirectly. + +During these same five years, communications rates on the Internet, the +principal academic computing network, have grown from 56 kbps to 1.5 +Mbps, and the NSFNet backbone is now running 45 Mbps. Over the next five +years, communication rates on the backbone are expected to exceed 1 Gbps. +Growth in both the population of network users and the volume of network +traffic has continued to grow geometrically, at rates approaching 15 +percent per month. This flood of capacity and use, likened by some to +"drinking from a firehose," creates immense opportunities and challenges +for libraries. Libraries must anticipate the future implications of this +technology, participate in its development, and deploy it to ensure +access to the world's information resources. + +The infrastructure for the information age is being put in place. +Libraries face strategic decisions about their role in the development, +deployment, and use of this infrastructure. The emerging infrastructure +is much more than computers and communication lines. It is more than the +ability to compute at a remote site, send electronic mail to a peer +across the country, or move a file from one library to another. The next +five years will witness substantial development of the information +infrastructure of the network. + +In order to provide appropriate leadership, library professionals must +have a fundamental understanding of and appreciation for computer +networking, from local area networks to the National Research and +Education Network (NREN). This presentation addresses these +fundamentals, and how they relate to libraries today and in the near +future. + +Edwin BROWNRIGG Electronic Library Visions and Realities + +The electronic library has been a vision desired by many--and rejected by +some--since Vannevar Bush coined the term memex to describe an automated, +intelligent, personal information system. Variations on this vision have +included Ted Nelson's Xanadau, Alan Kay's Dynabook, and Lancaster's +"paperless library," with the most recent incarnation being the +"Knowledge Navigator" described by John Scully of Apple. But the reality +of library service has been less visionary and the leap to the electronic +library has eluded universities, publishers, and information technology +files. + +The Memex Research Institute (MemRI), an independent, nonprofit research +and development organization, has created an Electronic Library Program +of shared research and development in order to make the collective vision +more concrete. The program is working toward the creation of large, +indexed publicly available electronic image collections of published +documents in academic, special, and public libraries. This strategic +plan is the result of the first stage of the program, which has been an +investigation of the information technologies available to support such +an effort, the economic parameters of electronic service compared to +traditional library operations, and the business and political factors +affecting the shift from print distribution to electronic networked +access. + +The strategic plan envisions a combination of publicly searchable access +databases, image (and text) document collections stored on network "file +servers," local and remote network access, and an intellectual property +management-control system. This combination of technology and +information content is defined in this plan as an E-library or E-library +collection. Some participating sponsors are already developing projects +based on MemRI's recommended directions. + +The E-library strategy projected in this plan is a visionary one that can +enable major changes and improvements in academic, public, and special +library service. This vision is, though, one that can be realized with +today's technology. At the same time, it will challenge the political +and social structure within which libraries operate: in academic +libraries, the traditional emphasis on local collections, extending to +accreditation issues; in public libraries, the potential of electronic +branch and central libraries fully available to the public; and for +special libraries, new opportunities for shared collections and networks. + +The environment in which this strategic plan has been developed is, at +the moment, dominated by a sense of library limits. The continued +expansion and rapid growth of local academic library collections is now +clearly at an end. Corporate libraries, and even law libraries, are +faced with operating within a difficult economic climate, as well as with +very active competition from commercial information sources. For +example, public libraries may be seen as a desirable but not critical +municipal service in a time when the budgets of safety and health +agencies are being cut back. + +Further, libraries in general have a very high labor-to-cost ratio in +their budgets, and labor costs are still increasing, notwithstanding +automation investments. It is difficult for libraries to obtain capital, +startup, or seed funding for innovative activities, and those +technology-intensive initiatives that offer the potential of decreased +labor costs can provoke the opposition of library staff. + +However, libraries have achieved some considerable successes in the past +two decades by improving both their service and their credibility within +their organizations--and these positive changes have been accomplished +mostly with judicious use of information technologies. The advances in +computing and information technology have been well-chronicled: the +continuing precipitous drop in computing costs, the growth of the +Internet and private networks, and the explosive increase in publicly +available information databases. + +For example, OCLC has become one of the largest computer network +organizations in the world by creating a cooperative cataloging network +of more than 6,000 libraries worldwide. On-line public access catalogs +now serve millions of users on more than 50,000 dedicated terminals in +the United States alone. The University of California MELVYL on-line +catalog system has now expanded into an index database reference service +and supports more than six million searches a year. And, libraries have +become the largest group of customers of CD-ROM publishing technology; +more than 30,000 optical media publications such as those offered by +InfoTrac and Silver Platter are subscribed to by U.S. libraries. + +This march of technology continues and in the next decade will result in +further innovations that are extremely difficult to predict. What is +clear is that libraries can now go beyond automation of their order files +and catalogs to automation of their collections themselves--and it is +possible to circumvent the fiscal limitations that appear to obtain +today. + +This Electronic Library Strategic Plan recommends a paradigm shift in +library service, and demonstrates the steps necessary to provide improved +library services with limited capacities and operating investments. + +SESSION IV-A + +Anne KENNEY + +The Cornell/Xerox Joint Study in Digital Preservation resulted in the +recording of 1,000 brittle books as 600-dpi digital images and the +production, on demand, of high-quality and archivally sound paper +replacements. The project, which was supported by the Commission on +Preservation and Access, also investigated some of the issues surrounding +scanning, storing, retrieving, and providing access to digital images in +a network environment. + +Anne Kenney will focus on some of the issues surrounding direct scanning +as identified in the Cornell Xerox Project. Among those to be discussed +are: image versus text capture; indexing and access; image-capture +capabilities; a comparison to photocopy and microfilm; production and +cost analysis; storage formats, protocols, and standards; and the use of +this scanning technology for preservation purposes. + +The 600-dpi digital images produced in the Cornell Xerox Project proved +highly acceptable for creating paper replacements of deteriorating +originals. The 1,000 scanned volumes provided an array of image-capture +challenges that are common to nineteenth-century printing techniques and +embrittled material, and that defy the use of text-conversion processes. +These challenges include diminished contrast between text and background, +fragile and deteriorated pages, uneven printing, elaborate type faces, +faint and bold text adjacency, handwritten text and annotations, nonRoman +languages, and a proliferation of illustrated material embedded in text. +The latter category included high-frequency and low-frequency halftones, +continuous tone photographs, intricate mathematical drawings, maps, +etchings, reverse-polarity drawings, and engravings. + +The Xerox prototype scanning system provided a number of important +features for capturing this diverse material. Technicians used multiple +threshold settings, filters, line art and halftone definitions, +autosegmentation, windowing, and software-editing programs to optimize +image capture. At the same time, this project focused on production. +The goal was to make scanning as affordable and acceptable as +photocopying and microfilming for preservation reformatting. A +time-and-cost study conducted during the last three months of this +project confirmed the economic viability of digital scanning, and these +findings will be discussed here. + +From the outset, the Cornell Xerox Project was predicated on the use of +nonproprietary standards and the use of common protocols when standards +did not exist. Digital files were created as TIFF images which were +compressed prior to storage using Group 4 CCITT compression. The Xerox +software is MS DOS based and utilizes off-the shelf programs such as +Microsoft Windows and Wang Image Wizard. The digital library is designed +to be hardware-independent and to provide interchangeability with other +institutions through network connections. Access to the digital files +themselves is two-tiered: Bibliographic records for the computer files +are created in RLIN and Cornell's local system and access into the actual +digital images comprising a book is provided through a document control +structure and a networked image file-server, both of which will be +described. + +The presentation will conclude with a discussion of some of the issues +surrounding the use of this technology as a preservation tool (storage, +refreshing, backup). + +Pamela ANDRE and Judith ZIDAR + +The National Agricultural Library (NAL) has had extensive experience with +raster scanning of printed materials. Since 1987, the Library has +participated in the National Agricultural Text Digitizing Project (NATDP) +a cooperative effort between NAL and forty-five land grant university +libraries. An overview of the project will be presented, giving its +history and NAL's strategy for the future. + +An in-depth discussion of NATDP will follow, including a description of +the scanning process, from the gathering of the printed materials to the +archiving of the electronic pages. The type of equipment required for a +stand-alone scanning workstation and the importance of file management +software will be discussed. Issues concerning the images themselves will +be addressed briefly, such as image format; black and white versus color; +gray scale versus dithering; and resolution. + +Also described will be a study currently in progress by NAL to evaluate +the usefulness of converting microfilm to electronic images in order to +improve access. With the cooperation of Tuskegee University, NAL has +selected three reels of microfilm from a collection of sixty-seven reels +containing the papers, letters, and drawings of George Washington Carver. +The three reels were converted into 3,500 electronic images using a +specialized microfilm scanner. The selection, filming, and indexing of +this material will be discussed. + +Donald WATERS + +Project Open Book, the Yale University Library's effort to convert 10, +000 books from microfilm to digital imagery, is currently in an advanced +state of planning and organization. The Yale Library has selected a +major vendor to serve as a partner in the project and as systems +integrator. In its proposal, the successful vendor helped isolate areas +of risk and uncertainty as well as key issues to be addressed during the +life of the project. The Yale Library is now poised to decide what +material it will convert to digital image form and to seek funding, +initially for the first phase and then for the entire project. + +The proposal that Yale accepted for the implementation of Project Open +Book will provide at the end of three phases a conversion subsystem, +browsing stations distributed on the campus network within the Yale +Library, a subsystem for storing 10,000 books at 200 and 600 dots per +inch, and network access to the image printers. Pricing for the system +implementation assumes the existence of Yale's campus ethernet network +and its high-speed image printers, and includes other requisite hardware +and software, as well as system integration services. Proposed operating +costs include hardware and software maintenance, but do not include +estimates for the facilities management of the storage devices and image +servers. + +Yale selected its vendor partner in a formal process, partly funded by +the Commission for Preservation and Access. Following a request for +proposal, the Yale Library selected two vendors as finalists to work with +Yale staff to generate a detailed analysis of requirements for Project +Open Book. Each vendor used the results of the requirements analysis to +generate and submit a formal proposal for the entire project. This +competitive process not only enabled the Yale Library to select its +primary vendor partner but also revealed much about the state of the +imaging industry, about the varying, corporate commitments to the markets +for imaging technology, and about the varying organizational dynamics +through which major companies are responding to and seeking to develop +these markets. + +Project Open Book is focused specifically on the conversion of images +from microfilm to digital form. The technology for scanning microfilm is +readily available but is changing rapidly. In its project requirements, +the Yale Library emphasized features of the technology that affect the +technical quality of digital image production and the costs of creating +and storing the image library: What levels of digital resolution can be +achieved by scanning microfilm? How does variation in the quality of +microfilm, particularly in film produced to preservation standards, +affect the quality of the digital images? What technologies can an +operator effectively and economically apply when scanning film to +separate two-up images and to control for and correct image +imperfections? How can quality control best be integrated into +digitizing work flow that includes document indexing and storage? + +The actual and expected uses of digital images--storage, browsing, +printing, and OCR--help determine the standards for measuring their +quality. Browsing is especially important, but the facilities available +for readers to browse image documents is perhaps the weakest aspect of +imaging technology and most in need of development. As it defined its +requirements, the Yale Library concentrated on some fundamental aspects +of usability for image documents: Does the system have sufficient +flexibility to handle the full range of document types, including +monographs, multi-part and multivolume sets, and serials, as well as +manuscript collections? What conventions are necessary to identify a +document uniquely for storage and retrieval? Where is the database of +record for storing bibliographic information about the image document? +How are basic internal structures of documents, such as pagination, made +accessible to the reader? How are the image documents physically +presented on the screen to the reader? + +The Yale Library designed Project Open Book on the assumption that +microfilm is more than adequate as a medium for preserving the content of +deteriorated library materials. As planning in the project has advanced, +it is increasingly clear that the challenge of digital image technology +and the key to the success of efforts like Project Open Book is to +provide a means of both preserving and improving access to those +deteriorated materials. + +SESSION IV-B + +George THOMA + +In the use of electronic imaging for document preservation, there are +several issues to consider, such as: ensuring adequate image quality, +maintaining substantial conversion rates (through-put), providing unique +identification for automated access and retrieval, and accommodating +bound volumes and fragile material. + +To maintain high image quality, image processing functions are required +to correct the deficiencies in the scanned image. Some commercially +available systems include these functions, while some do not. The +scanned raw image must be processed to correct contrast deficiencies-- +both poor overall contrast resulting from light print and/or dark +background, and variable contrast resulting from stains and +bleed-through. Furthermore, the scan density must be adequate to allow +legibility of print and sufficient fidelity in the pseudo-halftoned gray +material. Borders or page-edge effects must be removed for both +compactibility and aesthetics. Page skew must be corrected for aesthetic +reasons and to enable accurate character recognition if desired. +Compound images consisting of both two-toned text and gray-scale +illustrations must be processed appropriately to retain the quality of +each. + +SESSION IV-C + +Jean BARONAS + +Standards publications being developed by scientists, engineers, and +business managers in Association for Information and Image Management +(AIIM) standards committees can be applied to electronic image management +(EIM) processes including: document (image) transfer, retrieval and +evaluation; optical disk and document scanning; and document design and +conversion. When combined with EIM system planning and operations, +standards can assist in generating image databases that are +interchangeable among a variety of systems. The applications of +different approaches for image-tagging, indexing, compression, and +transfer often cause uncertainty concerning EIM system compatibility, +calibration, performance, and upward compatibility, until standard +implementation parameters are established. The AIIM standards that are +being developed for these applications can be used to decrease the +uncertainty, successfully integrate imaging processes, and promote "open +systems." AIIM is an accredited American National Standards Institute +(ANSI) standards developer with more than twenty committees comprised of +300 volunteers representing users, vendors, and manufacturers. The +standards publications that are developed in these committees have +national acceptance and provide the basis for international harmonization +in the development of new International Organization for Standardization +(ISO) standards. + +This presentation describes the development of AIIM's EIM standards and a +new effort at AIIM, a database on standards projects in a wide framework +of imaging industries including capture, recording, processing, +duplication, distribution, display, evaluation, and preservation. The +AIIM Imagery Database will cover imaging standards being developed by +many organizations in many different countries. It will contain +standards publications' dates, origins, related national and +international projects, status, key words, and abstracts. The ANSI Image +Technology Standards Board requested that such a database be established, +as did the ISO/International Electrotechnical Commission Joint Task Force +on Imagery. AIIM will take on the leadership role for the database and +coordinate its development with several standards developers. + +Patricia BATTIN + + Characteristics of standards for digital imagery: + + * Nature of digital technology implies continuing volatility. + + * Precipitous standard-setting not possible and probably not + desirable. + + * Standards are a complex issue involving the medium, the + hardware, the software, and the technical capacity for + reproductive fidelity and clarity. + + * The prognosis for reliable archival standards (as defined by + librarians) in the foreseeable future is poor. + + Significant potential and attractiveness of digital technology as a + preservation medium and access mechanism. + + Productive use of digital imagery for preservation requires a + reconceptualizing of preservation principles in a volatile, + standardless world. + + Concept of managing continuing access in the digital environment + rather than focusing on the permanence of the medium and long-term + archival standards developed for the analog world. + + Transition period: How long and what to do? + + * Redefine "archival." + + * Remove the burden of "archival copy" from paper artifacts. + + * Use digital technology for storage, develop management + strategies for refreshing medium, hardware and software. + + * Create acid-free paper copies for transition period backup + until we develop reliable procedures for ensuring continuing + access to digital files. + +SESSION IV-D + +Stuart WEIBEL The Role of SGML Markup in the CORE Project (6) + +The emergence of high-speed telecommunications networks as a basic +feature of the scholarly workplace is driving the demand for electronic +document delivery. Three distinct categories of electronic +publishing/republishing are necessary to support access demands in this +emerging environment: + + 1.) Conversion of paper or microfilm archives to electronic format + 2.) Conversion of electronic files to formats tailored to + electronic retrieval and display + 3.) Primary electronic publishing (materials for which the + electronic version is the primary format) + +OCLC has experimental or product development activities in each of these +areas. Among the challenges that lie ahead is the integration of these +three types of information stores in coherent distributed systems. + +The CORE (Chemistry Online Retrieval Experiment) Project is a model for +the conversion of large text and graphics collections for which +electronic typesetting files are available (category 2). The American +Chemical Society has made available computer typography files dating from +1980 for its twenty journals. This collection of some 250 journal-years +is being converted to an electronic format that will be accessible +through several end-user applications. + +The use of Standard Generalized Markup Language (SGML) offers the means +to capture the structural richness of the original articles in a way that +will support a variety of retrieval, navigation, and display options +necessary to navigate effectively in very large text databases. + +An SGML document consists of text that is marked up with descriptive tags +that specify the function of a given element within the document. As a +formal language construct, an SGML document can be parsed against a +document-type definition (DTD) that unambiguously defines what elements +are allowed and where in the document they can (or must) occur. This +formalized map of article structure allows the user interface design to +be uncoupled from the underlying database system, an important step +toward interoperability. Demonstration of this separability is a part of +the CORE project, wherein user interface designs born of very different +philosophies will access the same database. + +NOTES: + (6) The CORE project is a collaboration among Cornell University's + Mann Library, Bell Communications Research (Bellcore), the American + Chemical Society (ACS), the Chemical Abstracts Service (CAS), and + OCLC. + +Michael LESK The CORE Electronic Chemistry Library + +A major on-line file of chemical journal literature complete with +graphics is being developed to test the usability of fully electronic +access to documents, as a joint project of Cornell University, the +American Chemical Society, the Chemical Abstracts Service, OCLC, and +Bellcore (with additional support from Sun Microsystems, Springer-Verlag, +DigitaI Equipment Corporation, Sony Corporation of America, and Apple +Computers). Our file contains the American Chemical Society's on-line +journals, supplemented with the graphics from the paper publication. The +indexing of the articles from Chemical Abstracts Documents is available +in both image and text format, and several different interfaces can be +used. Our goals are (1) to assess the effectiveness and acceptability of +electronic access to primary journals as compared with paper, and (2) to +identify the most desirable functions of the user interface to an +electronic system of journals, including in particular a comparison of +page-image display with ASCII display interfaces. Early experiments with +chemistry students on a variety of tasks suggest that searching tasks are +completed much faster with any electronic system than with paper, but +that for reading all versions of the articles are roughly equivalent. + +Pamela ANDRE and Judith ZIDAR + +Text conversion is far more expensive and time-consuming than image +capture alone. NAL's experience with optical character recognition (OCR) +will be related and compared with the experience of having text rekeyed. +What factors affect OCR accuracy? How accurate does full text have to be +in order to be useful? How do different users react to imperfect text? +These are questions that will be explored. For many, a service bureau +may be a better solution than performing the work inhouse; this will also +be discussed. + +SESSION VI + +Marybeth PETERS + +Copyright law protects creative works. Protection granted by the law to +authors and disseminators of works includes the right to do or authorize +the following: reproduce the work, prepare derivative works, distribute +the work to the public, and publicly perform or display the work. In +addition, copyright owners of sound recordings and computer programs have +the right to control rental of their works. These rights are not +unlimited; there are a number of exceptions and limitations. + +An electronic environment places strains on the copyright system. +Copyright owners want to control uses of their work and be paid for any +use; the public wants quick and easy access at little or no cost. The +marketplace is working in this area. Contracts, guidelines on electronic +use, and collective licensing are in use and being refined. + +Issues concerning the ability to change works without detection are more +difficult to deal with. Questions concerning the integrity of the work +and the status of the changed version under the copyright law are to be +addressed. These are public policy issues which require informed +dialogue. + + + *** *** *** ****** *** *** *** + + + Appendix III: DIRECTORY OF PARTICIPANTS + + +PRESENTERS: + + Pamela Q.J. Andre + Associate Director, Automation + National Agricultural Library + 10301 Baltimore Boulevard + Beltsville, MD 20705-2351 + Phone: (301) 504-6813 + Fax: (301) 504-7473 + E-mail: INTERNET: PANDRE@ASRR.ARSUSDA.GOV + + Jean Baronas, Senior Manager + Department of Standards and Technology + Association for Information and Image Management (AIIM) + 1100 Wayne Avenue, Suite 1100 + Silver Spring, MD 20910 + Phone: (301) 587-8202 + Fax: (301) 587-2711 + + Patricia Battin, President + The Commission on Preservation and Access + 1400 16th Street, N.W. + Suite 740 + Washington, DC 20036-2217 + Phone: (202) 939-3400 + Fax: (202) 939-3407 + E-mail: CPA@GWUVM.BITNET + + Howard Besser + Centre Canadien d'Architecture + (Canadian Center for Architecture) + 1920, rue Baile + Montreal, Quebec H3H 2S6 + CANADA + Phone: (514) 939-7001 + Fax: (514) 939-7020 + E-mail: howard@lis.pitt.edu + + Edwin B. Brownrigg, Executive Director + Memex Research Institute + 422 Bonita Avenue + Roseville, CA 95678 + Phone: (916) 784-2298 + Fax: (916) 786-7559 + E-mail: BITNET: MEMEX@CALSTATE.2 + + Eric M. Calaluca, Vice President + Chadwyck-Healey, Inc. + 1101 King Street + Alexandria, VA 223l4 + Phone: (800) 752-05l5 + Fax: (703) 683-7589 + + James Daly + 4015 Deepwood Road + Baltimore, MD 21218-1404 + Phone: (410) 235-0763 + + Ricky Erway, Associate Coordinator + American Memory + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + + Carl Fleischhauer, Coordinator + American Memory + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + + Joanne Freeman + 2000 Jefferson Park Avenue, No. 7 + Charlottesville, VA 22903 + + Prosser Gifford + Director for Scholarly Programs + Library of Congress + Phone: (202) 707-1517 + Fax: (202) 707-9898 + E-mail: pgif@seq1.loc.gov + + Jacqueline Hess, Director + National Demonstration Laboratory + for Interactive Information Technologies + Library of Congress + Phone: (202) 707-4157 + Fax: (202) 707-2829 + + Susan Hockey, Director + Center for Electronic Texts in the Humanities (CETH) + Alexander Library + Rutgers University + 169 College Avenue + New Brunswick, NJ 08903 + Phone: (908) 932-1384 + Fax: (908) 932-1386 + E-mail: hockey@zodiac.rutgers.edu + + William L. Hooton, Vice President + Business & Technical Development + Imaging & Information Systems Group + I-NET + 6430 Rockledge Drive, Suite 400 + Bethesda, MD 208l7 + Phone: (301) 564-6750 + Fax: (513) 564-6867 + + Anne R. Kenney, Associate Director + Department of Preservation and Conservation + 701 Olin Library + Cornell University + Ithaca, NY 14853 + Phone: (607) 255-6875 + Fax: (607) 255-9346 + E-mail: LYDY@CORNELLA.BITNET + + Ronald L. Larsen + Associate Director for Information Technology + University of Maryland at College Park + Room B0224, McKeldin Library + College Park, MD 20742-7011 + Phone: (301) 405-9194 + Fax: (301) 314-9865 + E-mail: rlarsen@libr.umd.edu + + Maria L. Lebron, Managing Editor + The Online Journal of Current Clinical Trials + l333 H Street, N.W. + Washington, DC 20005 + Phone: (202) 326-6735 + Fax: (202) 842-2868 + E-mail: PUBSAAAS@GWUVM.BITNET + + Michael Lesk, Executive Director + Computer Science Research + Bell Communications Research, Inc. + Rm 2A-385 + 445 South Street + Morristown, NJ 07960-l9l0 + Phone: (201) 829-4070 + Fax: (201) 829-5981 + E-mail: lesk@bellcore.com (Internet) or bellcore!lesk (uucp) + + Clifford A. Lynch + Director, Library Automation + University of California, + Office of the President + 300 Lakeside Drive, 8th Floor + Oakland, CA 94612-3350 + Phone: (510) 987-0522 + Fax: (510) 839-3573 + E-mail: calur@uccmvsa + + Avra Michelson + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, D.C. 20408 + Phone: (202) 501-5544 + Fax: (202) 501-5533 + E-mail: tmi@cu.nih.gov + + Elli Mylonas, Managing Editor + Perseus Project + Department of the Classics + Harvard University + 319 Boylston Hall + Cambridge, MA 02138 + Phone: (617) 495-9025, (617) 495-0456 (direct) + Fax: (617) 496-8886 + E-mail: Elli@IKAROS.Harvard.EDU or elli@wjh12.harvard.edu + + David Woodley Packard + Packard Humanities Institute + 300 Second Street, Suite 201 + Los Altos, CA 94002 + Phone: (415) 948-0150 (PHI) + Fax: (415) 948-5793 + + Lynne K. Personius, Assistant Director + Cornell Information Technologies for + Scholarly Information Sources + 502 Olin Library + Cornell University + Ithaca, NY 14853 + Phone: (607) 255-3393 + Fax: (607) 255-9346 + E-mail: JRN@CORNELLC.BITNET + + Marybeth Peters + Policy Planning Adviser to the + Register of Copyrights + Library of Congress + Office LM 403 + Phone: (202) 707-8350 + Fax: (202) 707-8366 + + C. Michael Sperberg-McQueen + Editor, Text Encoding Initiative + Computer Center (M/C 135) + University of Illinois at Chicago + Box 6998 + Chicago, IL 60680 + Phone: (312) 413-0317 + Fax: (312) 996-6834 + E-mail: u35395@uicvm..cc.uic.edu or u35395@uicvm.bitnet + + George R. Thoma, Chief + Communications Engineering Branch + National Library of Medicine + 8600 Rockville Pike + Bethesda, MD 20894 + Phone: (301) 496-4496 + Fax: (301) 402-0341 + E-mail: thoma@lhc.nlm.nih.gov + + Dorothy Twohig, Editor + The Papers of George Washington + 504 Alderman Library + University of Virginia + Charlottesville, VA 22903-2498 + Phone: (804) 924-0523 + Fax: (804) 924-4337 + + Susan H. Veccia, Team leader + American Memory, User Evaluation + Library of Congress + American Memory Evaluation Project + Phone: (202) 707-9104 + Fax: (202) 707-3764 + E-mail: svec@seq1.loc.gov + + Donald J. Waters, Head + Systems Office + Yale University Library + New Haven, CT 06520 + Phone: (203) 432-4889 + Fax: (203) 432-7231 + E-mail: DWATERS@YALEVM.BITNET or DWATERS@YALEVM.YCC.YALE.EDU + + Stuart Weibel, Senior Research Scientist + OCLC + 6565 Frantz Road + Dublin, OH 43017 + Phone: (614) 764-608l + Fax: (614) 764-2344 + E-mail: INTERNET: Stu@rsch.oclc.org + + Robert G. Zich + Special Assistant to the Associate Librarian + for Special Projects + Library of Congress + Phone: (202) 707-6233 + Fax: (202) 707-3764 + E-mail: rzic@seq1.loc.gov + + Judith A. Zidar, Coordinator + National Agricultural Text Digitizing Program + Information Systems Division + National Agricultural Library + 10301 Baltimore Boulevard + Beltsville, MD 20705-2351 + Phone: (301) 504-6813 or 504-5853 + Fax: (301) 504-7473 + E-mail: INTERNET: JZIDAR@ASRR.ARSUSDA.GOV + + +OBSERVERS: + + Helen Aguera, Program Officer + Division of Research + Room 318 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, D.C. 20506 + Phone: (202) 786-0358 + Fax: (202) 786-0243 + + M. Ellyn Blanton, Deputy Director + National Demonstration Laboratory + for Interactive Information Technologies + Library of Congress + Phone: (202) 707-4157 + Fax: (202) 707-2829 + + Charles M. Dollar + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, DC 20408 + Phone: (202) 501-5532 + Fax: (202) 501-5512 + + Jeffrey Field, Deputy to the Director + Division of Preservation and Access + Room 802 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, DC 20506 + Phone: (202) 786-0570 + Fax: (202) 786-0243 + + Lorrin Garson + American Chemical Society + Research and Development Department + 1155 16th Street, N.W. + Washington, D.C. 20036 + Phone: (202) 872-4541 + Fax: E-mail: INTERNET: LRG96@ACS.ORG + + William M. Holmes, Jr. + National Archives and Records Administration + NSZ Rm. 14N + 7th & Pennsylvania, N.W. + Washington, DC 20408 + Phone: (202) 501-5540 + Fax: (202) 501-5512 + E-mail: WHOLMES@AMERICAN.EDU + + Sperling Martin + Information Resource Management + 20030 Doolittle Street + Gaithersburg, MD 20879 + Phone: (301) 924-1803 + + Michael Neuman, Director + The Center for Text and Technology + Academic Computing Center + 238 Reiss Science Building + Georgetown University + Washington, DC 20057 + Phone: (202) 687-6096 + Fax: (202) 687-6003 + E-mail: neuman@guvax.bitnet, neuman@guvax.georgetown.edu + + Barbara Paulson, Program Officer + Division of Preservation and Access + Room 802 + National Endowment for the Humanities + 1100 Pennsylvania Avenue, N.W. + Washington, DC 20506 + Phone: (202) 786-0577 + Fax: (202) 786-0243 + + Allen H. Renear + Senior Academic Planning Analyst + Brown University Computing and Information Services + 115 Waterman Street + Campus Box 1885 + Providence, R.I. 02912 + Phone: (401) 863-7312 + Fax: (401) 863-7329 + E-mail: BITNET: Allen@BROWNVM or + INTERNET: Allen@brownvm.brown.edu + + Susan M. Severtson, President + Chadwyck-Healey, Inc. + 1101 King Street + Alexandria, VA 223l4 + Phone: (800) 752-05l5 + Fax: (703) 683-7589 + + Frank Withrow + U.S. Department of Education + 555 New Jersey Avenue, N.W. + Washington, DC 20208-5644 + Phone: (202) 219-2200 + Fax: (202) 219-2106 + + +(LC STAFF) + + Linda L. Arret + Machine-Readable Collections Reading Room LJ 132 + (202) 707-1490 + + John D. Byrum, Jr. + Descriptive Cataloging Division LM 540 + (202) 707-5194 + + Mary Jane Cavallo + Science and Technology Division LA 5210 + (202) 707-1219 + + Susan Thea David + Congressional Research Service LM 226 + (202) 707-7169 + + Robert Dierker + Senior Adviser for Multimedia Activities LM 608 + (202) 707-6151 + + William W. Ellis + Associate Librarian for Science and Technology LM 611 + (202) 707-6928 + + Ronald Gephart + Manuscript Division LM 102 + (202) 707-5097 + + James Graber + Information Technology Services LM G51 + (202) 707-9628 + + Rich Greenfield + American Memory LM 603 + (202) 707-6233 + + Rebecca Guenther + Network Development LM 639 + (202) 707-5092 + + Kenneth E. Harris + Preservation LM G21 + (202) 707-5213 + + Staley Hitchcock + Manuscript Division LM 102 + (202) 707-5383 + + Bohdan Kantor + Office of Special Projects LM 612 + (202) 707-0180 + + John W. Kimball, Jr + Machine-Readable Collections Reading Room LJ 132 + (202) 707-6560 + + Basil Manns + Information Technology Services LM G51 + (202) 707-8345 + + Sally Hart McCallum + Network Development LM 639 + (202) 707-6237 + + Dana J. Pratt + Publishing Office LM 602 + (202) 707-6027 + + Jane Riefenhauser + American Memory LM 603 + (202) 707-6233 + + William Z. Schenck + Collections Development LM 650 + (202) 707-7706 + + Chandru J. Shahani + Preservation Research and Testing Office (R&T) LM G38 + (202) 707-5607 + + William J. Sittig + Collections Development LM 650 + (202) 707-7050 + + Paul Smith + Manuscript Division LM 102 + (202) 707-5097 + + James L. Stevens + Information Technology Services LM G51 + (202) 707-9688 + + Karen Stuart + Manuscript Division LM 130 + (202) 707-5389 + + Tamara Swora + Preservation Microfilming Office LM G05 + (202) 707-6293 + + Sarah Thomas + Collections Cataloging LM 642 + (202) 707-5333 + + + END + ************************************************************* + +Note: This file has been edited for use on computer networks. This +editing required the removal of diacritics, underlining, and fonts such +as italics and bold. + +kde 11/92 + +[A few of the italics (when used for emphasis) were replaced by CAPS mh] + +*End of The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC ETEXTS + diff --git a/neozip/test/data/paper-100k.pdf b/neozip/test/data/paper-100k.pdf new file mode 100644 index 0000000000..b3325e4a2b --- /dev/null +++ b/neozip/test/data/paper-100k.pdf @@ -0,0 +1,598 @@ + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>10.000002</xmpG:cyan> + <xmpG:magenta>100.000000</xmpG:magenta> + <xmpG:yellow>50.000000</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>94.999999</xmpG:magenta> + <xmpG:yellow>19.999999</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>25.000000</xmpG:cyan> + <xmpG:magenta>25.000000</xmpG:magenta> + <xmpG:yellow>39.999998</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>39.999998</xmpG:cyan> + <xmpG:magenta>44.999999</xmpG:magenta> + <xmpG:yellow>50.000000</xmpG:yellow> + <xmpG:black>5.000001</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>50.000000</xmpG:cyan> + <xmpG:magenta>50.000000</xmpG:magenta> + <xmpG:yellow>60.000002</xmpG:yellow> + <xmpG:black>25.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>55.000001</xmpG:cyan> + <xmpG:magenta>60.000002</xmpG:magenta> + <xmpG:yellow>64.999998</xmpG:yellow> + <xmpG:black>39.999998</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>25.000000</xmpG:cyan> + <xmpG:magenta>39.999998</xmpG:magenta> + <xmpG:yellow>64.999998</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>30.000001</xmpG:cyan> + <xmpG:magenta>50.000000</xmpG:magenta> + <xmpG:yellow>75.000000</xmpG:yellow> + <xmpG:black>10.000002</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>35.000002</xmpG:cyan> + <xmpG:magenta>60.000002</xmpG:magenta> + <xmpG:yellow>80.000001</xmpG:yellow> + <xmpG:black>25.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>39.999998</xmpG:cyan> + <xmpG:magenta>64.999998</xmpG:magenta> + <xmpG:yellow>90.000004</xmpG:yellow> + <xmpG:black>35.000002</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>39.999998</xmpG:cyan> + <xmpG:magenta>69.999999</xmpG:magenta> + <xmpG:yellow>100.000000</xmpG:yellow> + <xmpG:black>50.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>50.000000</xmpG:cyan> + <xmpG:magenta>69.999999</xmpG:magenta> + <xmpG:yellow>80.000001</xmpG:yellow> + <xmpG:black>69.999999</xmpG:black> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Grays</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>100.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>89.999402</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>79.998797</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>69.999701</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>59.999102</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>50.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>39.999402</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>29.998803</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>19.999701</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>9.999102</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>0.000000</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>4.998803</xmpG:black> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Brights</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>100.000000</xmpG:magenta> + <xmpG:yellow>100.000000</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>75.000000</xmpG:magenta> + <xmpG:yellow>100.000000</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>0.000000</xmpG:cyan> + <xmpG:magenta>10.000002</xmpG:magenta> + <xmpG:yellow>94.999999</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>84.999996</xmpG:cyan> + <xmpG:magenta>10.000002</xmpG:magenta> + <xmpG:yellow>100.000000</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>100.000000</xmpG:cyan> + <xmpG:magenta>90.000004</xmpG:magenta> + <xmpG:yellow>0.000000</xmpG:yellow> + <xmpG:black>0.000000</xmpG:black> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>CMYK</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:cyan>60.000002</xmpG:cyan> + <xmpG:magenta>90.000004</xmpG:magenta> + <xmpG:yellow>0.003099</xmpG:yellow> + <xmpG:black>0.003099</xmpG:black> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + </rdf:Seq> + </xmpTPg:SwatchGroups> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> + <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + + + + + + + + + + + + +<?xpacket end="w"?>
+endstream
endobj
145 0 obj<</Metadata 144 0 R>>
endobj
1 0 obj<</Contents 3 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 2 0 R>>
endobj
2 0 obj<</ColorSpace<</Cs8 117 0 R>>/Font<</F2 122 0 R/F3 121 0 R/F6 118 0 R/F7 125 0 R/F8 56 0 R/F9 70 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R>>/ProcSet[/PDF/Text]/ExtGState<</GS1 113 0 R>>>>
endobj
3 0 obj<</Length 8934/Filter/FlateDecode>>stream
+hÞ”[MsÜF’½ëWðnm +?‰ÖÝþ°«G³ÞqÏ p§Û¢õÝ_ßâ§‘«}}؉øü+.ÅDûöAèþ¹˜É¤$&þ¼ +*÷vÐoˆ¼:UçTæ¿išÍ‘ksØô÷?ây'ÒÛVƒ^4Ñm]Oß½ëŽA½©Ä$x‹I;#Šúй4Õ.|ö®ëý®oîýŽQˆwÇvKÊ,ăñ2kd‡6ÕX‹ +Pc§ƒ]î©QÉkO‡NFšáJ_¶Øù•ɇ·Íz{θ‡C½nîš5”ÚÉ<Âòe’ƒÚH²˜¥‚Q`Su/JCSI£cÛüvôf“F·M·ëî¡asÖ£ßpΪ?™äŸÆÂ²óy»·Ý€˜'°#‘ó¡°ø;¥nåi*s¨ð#–}ðêÞõO¸‚ß×ëmÕ6à º²ˆY‚Â^õzÉ
.R`cßaôXg|_޽~¬á"ÒÜhjñ@÷þͼú,Îø=qr‚Ðf²Î®½Â¥Œš40ÆP“Ûu}€ž`‘Ë@4Ëë;ÂzRìÏ—¶{í»¯u, +Çè]•¼E³Á;ÍÈ»p×~Í +åU{¯»Q*0÷5á.õxr"ÎCŽ¾ë»¡;l›]uùñï³$ÍJĘ‘C…8Þ÷22´?¡Õá×@Hr…ü4AïØÉð$[ˆZ«ë3‰£X+!M²·Í?86À[T°¢>yúÙœh×ÝÒ°q ¢Pç$áð +ŒY¸p%«öb¥#XŠ5¡|–b¥^Q*B;óN™ +UìšvôãÑqðQkýE€£ýý¥®dc§½½º%`ŸÞl%ÞýRÝ{‹÷J£?oê 8-㹟²DÑÎ_/ LÂWŠÂyÐùË ®¥Ö1U#RÎ]q‘;$ƺHX…9”HæD Þz™÷I›ò\<Z"Æml’ãáOÑu«‘V“l*v\@º8³§²«zÊç:/su•BðÈÄŠüQÀ?™Œ,½Ä!’¼L^8dŒ"È%ìðIG-‚=ƒKƒ\¸ƒî¹ë’EhúYŽ·B +è +S²b'
–Uäp‹~tÜ…å6ûC×äs$Œt€Wh¿eÞ¢»+hªq²,GFÙIHÆø[W5‡SØa<DèŽìßXÝî¦ÝSq-¾Í˜Ô1æ¨+£"G[»†‘!&f,Ýpág‘ âä|ùž‰ùçv0EÂQÍ`ÒŽIYZå)Ž+SÄÔåðˆwMïï¹@Å]ÁàÚçG\¡Ñµc¬v[ŸøCÝ?0˜!ÿ¨Öâÿ8äÖC1Rµ<*—ªåùŸ`yqY¦ˆ!K5¦_¨Ñq7ß|èM ¾õQS›:¦Y0âªްYuÈIaf>]"B”ç] <-W½{0psõïÛæ¶¹¼f^HãGØè¾Ñ¸ÍÆÁ†dV`)0¥ÉÐÒØYohjVÆBÕ訅ôù¤aRpvã)øP¬¾ßO¢ûÓí%‰Ãâ̹Wˆ-%Œ~©×— >ì-œ@¨Üe‚\›:¹‘Ô¬¸‡+pÌXÈËðI”ûRt/€·¸'* ÓO€.©áXIMh=N`B—šû©epxcš_±¾~¿»dâ¦~–§žÐR„‡'%¤ÚWº(
&£o×·+,NyL'³$RxÜa9™KBˆYXW2¿ÆòÓ¨ò³/0Ã,sJý1yX>(f$ÆWò(»J +쇋®ŒÃD~äŸ1RÎáîûîQg#¨p©øpœ2 :}R·ŠHX0‹â=
³#Î1pëë:º]³cö®ÕQ3&ŸsdÊëÙÖ̤j¸¾×íoF?¦ÛË8âV&Ñþ–Ó’™âñSnÞ#ÅÂ:tÂb0£2.£»±¡×žz••D-º‹; +™
ÅgB$E»Ä³Mõt|G +þǨ>#!›8ÂJM:>ž„3ðw•Îy².ê#®Á’˜3—Ÿ:0QãIó.޵8k±"t›NÈZ}õGÍøØ%@i"çÜ·µL¥ž€·5)³½w?/Æ>Ñ+ú$´.&Ž¡NØô3ꔈ{[ª“-R
韹¡n>Êuše›ã‰P 4~ð€z¥£åZÝË](œiæîð~ð|¢Máë
6A8°*¡Ÿî‰®;Ù:±üMãõê‡ùh‚!÷¥GͰþÁÖ#;ÌBΡ±jPë +Î|J1c@«Ø"ëA¾'cÝeI3ÈŠ°Z²G£#s>]žME÷Ìnó,ÓÑR\ÉFuNT':òƒnÉöjœD“JÁXI…¹gc÷ëq«¸Ðm¼† +*Tnn¦•qO›iÓ&÷ +Iy|Á PPu9UšzFÄZ5εñ Cr6J´Ðn¢/·¡¾òØx=ØHÜ!Ïc<öÜQ÷—¡¢–U:ÊS^†&7ãÊÏonBYw‰Äò s}W“QYêtÏÆa£ºÁú^AÖoÚ/r +5yÖh"Àë1/`•÷2gÊ&‹Zêå·O¡A‰[5H®RA +(O ìÕ-øE§ü2Øn¡˜¬ñ¼Œ&'ièºëtrý~ÐE€")ñÚ#g)°kñ +›”@êmS+Ô÷U¯.j½Å"ôP©ˆàõµ{•À0zÒ'eÌò=MP´S•+5ÊK +§èçQÞæœF;ïø`ŽŒ £!žñ׺ÿh'pq*bY ‚øP{bÙ€XÀ!²0[¦´'ȱËó3Ä-sjärMÃ:“7¾¦ì³Ï}i;tÏ;2Ùjݽ‚Á +V™†Ñ¨B›6ùCíÏ +µÕ
¥Ù( +é¼Ïã2Hù +«õVr}PUê»ß}*pÏRiæœóKÇä‹Ù³c"l®´+Œ¥8&æy©²ÇݨDoÐôš™iü@hr-Ùu8Sd)ÆeWˆìD +þú + TÝ4>55§îåÎܬÓ_눉8Û3¯¼SíYéMÙˆ tþ¾mî4„BXIâÞŽA…õ•<.}ûú"!‡.ðüõÌd>?3Aq«ÝæÌ‹xîHÁã—Šžt} lh*Qô„®ðLPô3ÉC{ËA+Í¥Þ[Ù²Ìü½“Äþêz'ñw’—/ýéÙKiž„·ŠsoÉEúú›×óý$ö¤¡(ž +{giÉÿ´â0sä +úäIÌÑŸŽ›¬â8õ48²'eö—ŪLL"ã\FxË_¬BOù!¬óÑ'o¯=µ`$žjð†Ï̵õ4ËÝ©Â#,$Y¡·†×»ÛØãÛµì½ÈR²…Gíª,|{`²Œ§öWlÐŒš•/†¬Âpïí¿«aÕšÉ%ã/·÷Š—è[Ó$¦G’¢RŸ"/ŸAØiôŒ£;F«ÓË6ä”’+um`Pþ,ÎåÑkë‹€À••¿¥‘ŠŒ^T½tÄÇfTˆ‚'Íã)É{.\¯Ur!|©ÖOÚÄ +ÛùÙS¹ªÔËvíÿ* +
¡ó«…Å!Xwµrñ»»Fá,ÄûäýXÑ•vvºhë™0z
+õ'wJ)s²üüî]hµízoá‰/1#œ—AËû-—ø+Æ/ÇÎ6ñ=ân–ò„f©Ý˜`7‰µötÄòåˆ/-óÉî(þÀ†¨¿ežÍ>Ίe£h"ÙAOàä'Þê¡ñ¶yôám(‡K@®6®~J2U#œ +Òã<‹â†²ÖãrñJqÃä¢óé[ä
$ÊÓê‚o0-ó¸xf>f¥A´Q'n¼C*Ë9»Ṳ́ÇOÚ–œè VJ|×vœœØ‚ðª?2*“×(
XЦdø\îÓ0)IPÐù«sföèOˆœ§ñ.Í7Î'‡£N£ +„àÅâ8ÉltGÖšÈü®,Ìœ¡Œ¬Kñ‰dîÆG´ÆdOšH^e1g³µ›pÆ5ö%Æ‹$æ$¯Aé¤/9hoZK¿Ä`_Z%SæBõPVçß[þZ¦ì´P7‘ô/¬¥±ŽwV•S6p½O®´‡Quîl6à×” ˜F±akï׊¬–'d§yvÕèyi¸ù*m4,Å>éÑ ÜG]ž“Õ 9D7ÿ"˜¶*™éœ¨ºWíAØh8ªD\©›1¥qšuÄ51Ëc¯ƒ÷u«YÔéñyÜתkÒæÌŒÏݱ+ezuœˆÝ¡80T,•ŠÉÀôäÜJµ®™*y‚+š¢Â”L^5•³Fæ–µ¿îzãV1àÜ›gª¼ì¡eþu×µL[yzÝü#ä·¦cƒñŒA¬m“´×GôüDÛþL-d>ô©šâ{[sGžíÉ•,£ê5yþ¥i5,çiKàèäÖç ôv7eÈä™W +ïĺ‰ái´”[v¡Ÿªx~ÊÖe@UpžéRDOÿï¢ÂUhâåV•F;€uCǾ4Ö&Èä!ˆÖ¼æ3Ð,§3xeÁ(ÏCHϵÍìŬ,Ì{Ë¢j ¯ðAsùJè6ǯBäõOÆÌÏ€+œ}ø ɯp9)êÈeš;Á)¨g…ùäe»ÓrŸbZ«Ã‘7N}Ç£4)[V~¥ñæš‹ãóVû@õ‡›¿©P?œe·ýÏ_~‡ +—%Šø_ßþ ëæ¼-wQ[žól‡¯²EÏ6bÙ¤çåjc{޷뫾ÖÀs”ÈÉøLÆ2 +#œDiæyé +m—È8#ˆuïK˜€àhÑæK#ziT”\Ýûá =e̽òݲ±ž%œ>â¸'o?þ¬¹Þ¨'–{H4Ày±'›ªõ•LŸ=ÇÌëÞ‡x‹ŒŸ¯…ŸÇ‹»jí1|}óc£ª‘^i‹¾ïÝÉÕùtB×}¥[Ñ~¾„VÀ;-9¼l¯ÔNï§[pô#[rÂÙ–øùäë«s¨n!à†¹OŒEtôp·`ÓÜôÖí|v+bþE‚R»šyoXT€`Ûãz§Uw(#äE¸¥žRõm÷à3Oý•+´©-ÖÍBoU`úÇÆ{ÌmóŠäÎUÐî”jë›0ÎvU0ù{òÜÕØÓ4AÔ#x/kqC8øÉ&‹(Ž£/^Ôs²äÓY×g2›ê"@grÞ½É6Ò™™â6˜ÚðÕÑL9À9·.o³KùœMPºWtôu)="kúÔRfH©ûkßÊÓoØQ‹Î¤Ä¼B[ÎHi}?Üqí‹sSŠg“°©èxËOhï¢ý”S )·C¥Ìa)žÔºYð:ìk=ƱYóÅÑ—".òS²èar/{˜DÒ¦Lç¢t:µ
h¢MlÈæÏÚ²KL¾ŒbxD®ºÑÌAÆ/'–V˜å¥#”_lÇ×wŨŽ{ù-“å™P3´¯°ŒaæÄÚç„ô09úpŒ,Æœ,†ÿsÕ¾;Ð+šW!ÀEëÏ _Ehí¾çÔ•D6•vÃ$Ñtxéd›ôŒ¢ß&ÜwÑc£my82Ñ+pÔÕFO)ŠW%_6‘AˆgYý<ÈUÈ*<n½åø´Ä3êMœni5Ó½ÂqÀqb½‹Ãp}ã
KäWégà™¾[úPuWõ°X¹liœ +&¡åÁ~&
.XÒ9wuãøÛ÷¨K!^¼¿÷aëÀ#IŒ<—ùËs•'ÛõöÍýV‹˜þ©"ºÕšµòÜwh×’oðäPªÑõ½?K1ù!dª‡—…ÏDõ¬éÂÄ!¦0ÙÊüQ. Ý·Žn@Ïú)`ˆ‰Î-†
½ÛðM<pRéÅiçŒOEð¡„ +åáëïfÇ(<ØIǨ…Cí˜ <ÛºñÕ~S=7½WŠ
÷´¬ÕÐXbÑ•¢…yåè„ÀFTÿ~ÐjlÝû¾çEc§à!¦ÐùBä°üÐ +Æ«ÀâhÀo*…cZ]6Úܬ½ª)!oB9¼jv¾Ašœ€ÿrªkŸ.«d)’†¿pó˜õïkÕŽÝq£„ÖË2…oÜu³hÐ÷ÞtT¿!N±ó]ÌÓ‹ó¡ï?¾ùæÝP\¬‡‹Uv1¬Û7è;Î/laW±µè3OLr‘fñ*NÜE_¿¹{óíǯßBY!ͳ‹àdKߊù@cžG°¦ÀXž' nŽ{ÄÂz¤ëéô0×ËšÑô$‰kS-}[³D3Zœ0%,?Œ¶p£w1ŽÙÁü ¨ˆÐ 'EgñÛ•`®zÚVo$ÑŸ‚—ÏѺ’mK•D‚wÇÝIì—¤þ˜Ùæ¨G·¹ï`vÌ´ÃQ[û|"–ç¯2 “g§„`WG‰lôÔeégmÙ»-⬛x’9¦Åçc—éçëßyZÛ÷w‡'¥k‰¯Ï·¾É XÆANÖ4èÕmÍ´z–y4Õn¥/ZX›ØY¥Ã'ªÔg¶@Hã¹ Áp
~k!"Ü¡ªŸù#£ÈóIÆ+}ºÔÙ"S.AÎÉw-¾Ã3\¢¨Þ~lÌ®¢a였5(~u¹1 +\ O’¥Õ<åmÕ©&PŸÛjàBXd`´‡®örq~V¯ ö&¼áQݕ䢋ݮ_ªþId7LµÒ`§&K4ª “Ö*mŠÖΞu¢½ã!Oá!kZIÆVêzþØ`i2ÂÓÉ[gˆ'÷”a\<ÿ¦e¾XÏÏR¦<Åû“þ?y ±¡õÇæJ8Âf“s²qxYëf9{Ÿ„Wì€*ðo9¼.
çˆ æÃ9´v_µfë}Êqò@齞v6ee°%´f™guiPPVËy$[w e™Õä>:p|+ó<öá¬ðºîµ„Æt}8…,!e„óÉü4@áË„R\s!{ô>ú%!–e +éÌþ¶·É0ÒZw?ŒO~cÇ=L"RÈ'mSQhkŸ£Y¯ð9 +¨ëŸtËžÿ>·ç}½¯T-ŒwÆS0k Í»ªG®‚Ý÷µÿKâËV6Uøg½’l×ûšç"ñªcéOGžQ¢ëe÷âtd=ÎÙyyÜ<…*‘J-V›Þ©Òoq€ z[áå…X@4¯Va`ñ) ‚º? Ù-aoN`,‡ÝiîšÙÀ´*¦Í…æ¿ü™v6j›øi–dçØÅS…4DÎõš¸ :QßæÜð°ƒ>ü·Z‹¼lêúQ]güÎõYêà"ÁïÍb}$ˆ âP#í™è‰òqŠc²¥ÍiGY^;ò;®äaEv0ÌÐqಙ±Þ•“¢º¢-Œ…¡øª^ÌJ +€£ŒCf©
`Ü
ôsthC“ÿ‰BV.ÿ]àXA™+YýýDZ’mGÓ'̇
˜ó£Li7ŒõÓ‚F©¾¥ðÿœè[нÿ¨Ð¤§ E¦¼¸.e‘ÂQuù?ÿå§›°ØwÝþp9 +ÇtZzy]:œþjZËM±—iœX§e§ÿ«Û÷µúï=arÝ?`KhŇaÀ &ˤk¢¯%óûuÇÆ&e/þO€ +endstream
endobj
4 0 obj<</Contents 6 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 5 0 R>>
endobj
5 0 obj<</Font<</F3 121 0 R/F6 118 0 R/F7 125 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R>>/ProcSet[/PDF/Text]/ExtGState<</GS1 113 0 R>>>>
endobj
6 0 obj<</Length 7551/Filter/FlateDecode>>stream
+hÞÌ[Û’äÆq}çWì‹#0Ž™.uá‡%)YT¥][K>`z03»M +¿Ì=‘-·.Ï!þnçmrÛj|T&ÞõíUžb·!|ÑáËSU26ýS2É®ÖMxÁ•Ìñ¶Ÿu¨¦ÁVeÆÅÝÕéøË¢ÂšÞÿ3V‚ù@Ínwøº“A®nŒLÇR
ú‡›õëÔÇñ܃îÝɈ.¶œG‘´ÇQÅÒv Ãh‹‘Éy +•ßl{¡Júf‡Uù¤[Ì¢HºÃðI‰Jã‹Ïl‡3òÆQÕj×^Q7ó¢¶âÂçó*•Ïížfá“Ã(~^zäÞΖšWNž>4?Œxˆ{ÜLzÛan2Âp›Xé3^)ñ©BÀšñbå©jaØVUϹIïÌ,‡¡6œý¯~S(žT"¹#\„ˈ'N.r—åÀ“Ég¢X7NF…b¢ÙX`ßR¥Ä´Ñ¼ÃØ··'™”LÎë†è-ÅŽT^ýÍ™ñu>€½1ïÚÃÃl +™ãÚág +0F(=8G;ŒqKkÕola»“§º7ÈÛ—ø†x‰¤~“|Ù( ¨e˜Ööövнév'Uƒ‘Ô ÊøN
J¼ïá;%õþfÖC=ÂÓYò.Â_³•äÌm…Ë?1¤‡çY
?f“¯šñQ—ÛÝ
JÝLrßõ—¬ç®ë€O»AÅöÍ•`hÚö¡°zïÚXE›o¯õȲpˆŠ"ªðN™²÷ÇF©ãžK Ë3oj’<C¸)ÈÃÆ:v™›ƒ²Œz§± Vê–æ4sHùŽ»FïþÐŽúièhî–¡ïNP0ÀQA£'ô‘˜Ê‹Q%_^½ÿËì#År£LA¨£wå›ÌUÈmþÆZD'NF¼d’á×5“g„NyX´?Ä)’Cë÷J;«åúqÇ—MœëÛA5wÅwê‡5è29Å +S*›™¹¹Í¡C+·9 öuôÐ7£ZË +s1@µ4)Ljƒ{ØÑ?5*õâÑè<ð góœ²z BÄ›ªè‘¾ö“€Ø1eø è‹ÅjE<µZÀ“\&¡…¦Ål )49ªkÁv5Om § +[Q†ÇvGç!ß&¿æJƒáÛrËÌGsHy!üÉRm<P-_ì›ý¼k +pbÚ»æ>Ø/· <+±Pª¯?ûL½uÆ$¥¦'<ܾ©ÁTf.`¦rÛBH‡&Fâh»R–3Ú€ÀNpz¯Òùs³ \õ:’ºdØ`‘j·{ù18æ c1;¶×ÄYL™1Üڧ&f³ŽÝ3y“åbFmx Ù'—#Šû3áÏѽÉ
üYìš'*#ySåq9¢¼¿t
+²pë¿Â4ÜÂòõNîdᎩ*nýËÙK¹Ïâ[6]Å1HI|¨÷à€¢.\‘dŸª’EÕ!æ¿;%´Úó©û—A›ªtÅÚ”çÀÉÞo¯•y™äSuiÖ³"NîÄ +³`Œ©¡’†ZhÇB\é&À_@»W†,ð䫵GÛòyZFãú׫›Ì +¶e %ˆÔ™¹ûÍÈ• :ê_qÇ&ŸÁ¿Ò §«ª\«Õûú»†ô¯Ýý
½“S˜HÚµ6>¨ã,è%·]NR ÒÎYY +`ÿÐîe’ŽÂ'…ý§kežZ¥DÈ.)ìS-È+¬Pš*×Ú±,¿þâbsfÜ&¼û[›…ÀŒŒ0Qäb˜GÇ…ê3fµ"ñ±»Tzþ?.-gð÷E¨,ÿÛq¢6à:ñ¹Ò¼¸Dø¢`=<¢6l™XœÜ¶-cýö+\6C,`6Ý},°ÐR/CÇõž–ä¡õ‹ð6„¦EÐг¸žCV>mðN1`-dnCLOêô?Û-“?]CÎøY.í"n"5,à ‘)…8‡)–e7[%7ö +´°%™s5lQœòrYx³–èZ,–"¾p¹ › ?¦¯9~œ9ƒË!`€Ýç¨R9r@ø:ÇìüšŽMö½®æ4~@K`^!ÌAòl)±ôÊOmw +cÐ1ŠˆÙ›Gù6¤¾ýôf)J²ý»€'Ú^çÑNï»a‡ÒÔ@©õ=-› +[w®ÌÞ‹I
`3¢&"ÚBSݨ±SñšÈiHÅÜ—h#ScÞɦږŶšƒ>¦Ðm›ah†Îq%‚«ÂqUHnÈoÆî†K5%‰»ø&èb'l1´}`‹)Í4ÙàÅʘÐá H´Ý®{½Þ-?ZÄ>†Ó(ï³¼i,‹¯Ù®Æ±Å%fH1ë̾)d4lcˆœKgËÂËY€xaÁë +€½æºW!Xá³)CÎKÛfœÓ0`•Ô#¨R‰Ž»¢ñ&4RB‡.l +é;¨ÏQ¦ÓÉZ63ëôîÙE ®Ö†°)krA²…Clóýü"¹œ–S" +Ùl,ðµòfÛ„2à„oi5qõkUtŽáS²Ù„[2FÒüðØÞ¶cìßuÏš|È3¾ÖŸ +
#S7©cÁÚHG°[ »šþiáÇ.ãØMï2ùùÔ>uë8Lt¼È}T€cÓS¹:kyh¡Í<GBÓ
ÔÙ"]‹SvŒ- +C¦’#6c'ûSô_®Ôݪ\úõs;žFªî£`vFB>å”y•áQÀàNÝî”îa¯֒À€lb©`æ«Ö¾zdè \Õýä/vZÎ1²þÎC|ÊsÇlÑâ+©'!þu"Ù,Žïë—XeN÷2`8²P-’YwÒRêU/hÚá´¿Õ‚˜çË,ï›¾ÑæTÜÚ¶ýöÔŽ¡A¼ä>Fé‰S‹e(´áxÄ £ñéE6ªo×s‡ö}_!ôNû½@Á5þFã@Ñ—Õb§ôwÝ)y'xsvä“ã~óD¾d³ÌÍaùB¯W¹"ÃV-f”IÿÕ›záUyÁ¸”áÒŸerYŠ<Á˜jŠÉC²á–0Ÿ8;íØG–Yk,1)ÝžºÝS¸uK…Tò`Sµ! iþzA¬ËW)™Y!!¢åßgÙ`I“&³.ªÚlv§…‡C +SM™tè|,ç1=€î¥jù+õÖ!¹$—°¡Ú-sYH‹P‹) +=€ò‘\™ª²Yfy6}†ÔmZUùl_™föRþ,ä‹çc\,Jp#´ÝYãÛÀ1™Ë’ˆƒ†Ç!Ü/X2;?Å1çÎxR‚äPŒfw]—×V)‡Wy3öZ.&ã1ôVßTÚŽˆTãä˜È‚—<¬BnûòsY¸Q(â´(åÞѱs‡F©dÍ\n&«zPgÙ¦i²ŠI-üʲËSó¢§²IF|ätn>¸`óL´Ûô\2ŽÆ¯sj ìlºìÒuÌ¢„F*Ç8;p¼áٽࢠí^.›ü"ÀÖ('Æ™ŽÇÚèœÕ¾¥A]YÐ5‡i„T` +çÙ¤}Š•öu”µ,v\bߡ㑜 Êøœr_æ# +jÆa“÷YÄâ‚åK5y¯ž?2_ÒÃúâBŽíL>» +Rì)<FjSBËu¬|vf{““˜Z°(ωÝÓ£ +²]¢ÇŸÌʯ¼Z´p[çý»7ÁœÕ·5²?—©ÒÐÚô"0]¹³ø¨ r€{*–aÞ“Š¥ýö½(]öw¨ðg?Yá7öµVö¶Lå{&'ÞŸ³›G“¿ÓBj;T}jýy(܆”y51žœ' +Mb7,¤ÿû!t™M½—Á®*L¸iWý^jôÚat¦ßQ8ZêÌÍDG-;FtÔæZø˜•’?•‹Þ•Zí† Ïâ×ÇÂÄÝT>.‰pV1Ì”É*—a«Ò¶2Ÿ:0½à¤:¨lh³*%ÔºA[ïæ¢r`Ùýа5I{©ž
Tmdžø9 +mQFëæ¬ëLusWÄîíªšbë4²î%>
cŒeS¶Dí 8iHc˜–C"‰]:ˆm˜ùL1‘ÕãeìøðÁhC3ˆvø, Î:Õ/ÞXd¤Iÿ¦-¹6µåÇ|±³15kÜG}1«c>ñ¥—iwšG÷S&óZ{›mr×Çvlôn¡¾‰ç\Cq˜GyWYö,¦*ÖV« +Ã?Š˜Šì'ÄÄ#>È£h>ۼ纽åÚgö†ë¹¢Ð9˜©èÉ£œýñùR{yˆjÖð,–Ä_ ë•gÉ#4¼¡'7¶ÿ³$v뱜<a»0·H¬Q1!Ì”¿lbóï{…P[ú)st¹¦9§‘pî²¥Í]X\ìëšúµ
,[DøÌF-NyHXÜww§PÂÀPá„‹5ê•1q޲ÏB¦·îÑ")&Jî;…§ú°\úóô{΢Oq¡7˜¯Ÿµ';3W¯o.#Pè2«–\ÉðŒ”J×eò…x"ž0<ã\Lû +VÏB…¼ ÑŸâN½7—yÖÞxúU³csɆG$˜•ÏåJìÍ/3÷ÚÅ"ˆ˜> +DãvË…‚<4јΛ|Ø€`íܾÀyæl\[æ +endstream
endobj
7 0 obj<</Contents 9 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 8 0 R>>
endobj
8 0 obj<</Font<</F2 122 0 R/F3 121 0 R/F4 120 0 R/F6 118 0 R/F8 56 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R/F14 80 0 R/F15 83 0 R>>/XObject<</Im1 14 0 R>>/ProcSet[/PDF/Text/ImageC]/ExtGState<</GS1 113 0 R>>>>
endobj
9 0 obj<</Length 4318/Filter/FlateDecode>>stream
+hÞœZÉrãF½ë+t™pF„QPð7íðÒ¶¾´ú +zšj1q‘tûí‚Wñ§)뺚H5c_Ý6Û¦†öéæ$Ðz?ÐV´Úæ9©Ÿênä+XW’F°u¢Ž³2Üö«ºÅ•,žð¾ û4ݲ݇¥¹ÂÊÒŸx5¿›/ª±^ÎÞÔ.A“5Lêe¹ÉuÒÖu_Í‹T‘®û-=“D:ùà²<‡6î‡ø´Ý·SóX
M5…=óäëfµb×'¡óäûjøÔ?žNÿ—"Í-9‹N–tN5ÁØ6ÃÆ‰¶åWA'«§?â§§Ÿ"”ÍJz&¼ûáÍoßÉ€¡¹æãé¬U³bu‘ØìÐÜØlºfÝ,«nj¡DºF™4ÛÝÐ?ÖòóÒ¥0b¢S±Ö-ø,ŠÉ%èöêÅ(ÎíóQœ–eùÄp¡âªBÿ)†³ªn…—síRE÷¸ÉU5q +¨Ø³ÁKhæÓ>Ä +á-bìJjcSœÄÉ*XœjA—G®Ý#lÈS½ø Ý›Üòèƒt8Ò#8B„ጢó òaærzOæ#XS¢ó¯k +Žg²².,{˜e¬Ü’4È3
/oV4‘$‘i!Ua’O¾«Æ™¢Ä +Ÿ¦T¢¡Å™ÂÕa9˜£‘„,9ìÅñT€@@ŠlÞ=DTnÉË›™¢‡;z +!¥€¸"%ß1ô€ŸÍ8ײår°¢-m®6SHÌØl‰8ÑîJpÒxP‚-=ŒF?:HO±Þ>ý1S`"@œÌÁQxªÂ=±3"êô–’
D@%V$ʲYhzØô,]-ã*`cÍÑh!ÚØ@Çã8Š’Øº©q”¡Õ4#¿Ô:‡’B–Æ Ž±„[$j/>E<lù@[–ÐÄcO©x"Œ¦î!™nœÄt•ˆEñUµt
ºv Å>N7â›¶št¼XàRžÈnð¹Ä÷ÉWŒaª¶\bH'Ð&ëuÉT ´‡ <à/¦)x‹›¹•D1 *僆y9b›Û‘ëʾdCámðW-î–‘ºü¦Ç+lkÞ“LÃ<3î3!ÌáJëç\ÁåyW0Z`PËsH0É¢’XÍ +
Ç;Ü¢á <™Ÿõ4ÍX=R,‘ æä4B^2ˆòÁ:l©“P¯Ê(ï²ò3˜t"®'×TÌÎñŠE_Õ;#tZñ| u$`Õ2`Pä žjv+böeDƒwwW¿]YhÇjNPTm§%UÜ\‚ÛkàÊÜõr{õÅ7[uý¶¿úIŠ÷À¯i¯"“¥á1ïsJo^R[,Z-Wu*Ånt»|¨A‰–RcX$W²ˆ$…À‘5ZuLç–£Ÿ Ó?ËP#5ª˜—+U«A)8‡Y2P’^ +rѵü(ƒ6²âB¦ô\E†ŠúÎ2acôy¢1胰ûX)5¡¶™Ô[wýÏ7²ž2v»¯ãÁtRMbiË âŒUÔ#ù©eÚ¨$ÌÞ£dÂh3XòX×yÑ3i–±¬[_–ad›Â—ìváÑ0(“—Äg)®¼+àw‰Â²Ï}Ô’—[¸k. +bd˜|ΰ± +¤¤*ÇÓ…¶Ó‡$Mg(Ï£O!¢Ña27¨âfþX6fæü*Ÿ_€ +âåâlc^Œ60P•]Þäñ +Ãl»ml‰ÈåTu›¶alS +ÃÂìö!ÏÛX {”»äÈCó{LL
+x?WëgiÂæ{Ÿ,úiâîwDÖúsœh, +<Vœ÷'ÐôdO
¬'}3ÎNu·¤¸æ+£jAÊ” +ççg[WgJ.˜ìêa»Ÿ¤c‡·Ç8W¥óþ"Ò‰9tL¥F)8ݪMRÕ„BÏ"m:épßélÅ$M‚¼àò?•ºÉˆ·èœ!ö´¸È0/€tœ«Ðñý(µTÁ½©Ë¬,”] +x9Þ— -\žR±®¤0Ã"Ôáú¡²ùºoW±h[=çÿ–~¬Úf%™¿Kå…M^A67 =-ÍÂx·ñX?EÆàþæ6!}Ápà‘Qº¸¦ª4U¹7ך\£´Fÿ/@I_#þ|Y +±Ís$‡O)H_œ!å“…9á~ÆpKxþ8òg¾8.€–`c“W¿]ÀƒœžU'DŠéî/j§RlDfbGvåÙ„àò”“? kÅ#Pà#â–Ÿ¤§;6œ#ñÒ‡î-7žÝ–Ãùå–‡‡f +ÕD~ÜñI|_@-÷1ýKí£“C5ʾ6j8?ÅçB4ÝZT‘I\K² \༾̗
8'T;6àÊÐŽ×|Á{®x‡Q<ÑIDºcC‡Šè<$º¸H s99ú²³\ŒÆî°vÌ™¸rñTEWí^ &J#¢ÁiÎhãdœOÔC9¥qJ3È +>g=4èáI)ý=,AiSûAv—tò’V Hº8‘éøé' +Æ.”{Ÿ¼fgÉ@—Þ Þçè3î%×1tÍ•_É}vˆ•´ÀÐqØÏ2Ø>ÿþöl‹¯BM>Âd(§Öû.~Å)‹øE%Ó¢Ø8ê;†æxËTaWbrRÇÚœlûÍÁŽ´”™¿Øeʪ¿îÈvEiòk¸qŒw°F!mæH´ŽôÚË|aË¢Œùâ~õì[ÉP +ã†OEЀ¸ßDÚ÷0yl³Ýoe¹“øú=¼) +ÆósVCuè„u˜³3WÕø ²¸p(wxJ4l_Eâ@£’‡[Xž›'4íÔTÄ\8&+‰Ô“ +iŒ×m*‡ùHTÔ%#„2¼|ÐÊ;!óñs{)º¹).Xl¤3™„ZËÅ%ò~F¨†pÇâ¼ú€ÊÏ@Ÿï×Ö¤›U*&¤úÃ~ò^´$ +E™Nn2îGÑùÀÌiü¯s°+Å•—¢½Ž½ Ùßq7šžtï|,ðÆXãóØEìÛ¾Ÿd¹âæ[Ëê崴‡èé)6ëF[€ÕB¼]ÛO©¼Sò)WޔϹ”Ðt<G\É|s$™Üëëe߿ܰV|ÍÙŸVHÓŒ¹ïø¸B.ßY,€ÿñëâçèo‰+MÚd”ûJFñD¿P¡ƒ‡¾Öš¤ô>|!¹GwÉæy$|¶Þóè¬&ÃfäÞåtþ²™[÷ÌéL&Þβ„]Õq©ÖBqM€V^Â=KÄõþgÌW#§‘64Íδ9ÉC€ä^ª÷©Žõø^¤ñ&“&Á?.‘Ê‘ò"Rëäž¹À;f þÇQJÅÿ|ƒcÚ„˜.Tò¾®†‘gæJ€©1•k.<ëõºYrA!âÇP”É(Ck™h%Ä/M§ÏÔØö,þþ\®ÜH=§¤~fÈe/ˆð”£ñ‹·xóßós˜nF‚K&ðê‚à&‹†"bꇋö!ÚRÄ6ÞÓŸþÂàÄ+â_øÓõDLøý%:HÅ$]é,V}ó%)SQ53㯜_üÚjÓÝrѤ<è:MÉ
‘(¾”¥-m¯zžÎç~âÍ„ ¯¤¿‰ÅVpD +™ÓßÒŸò½S£øó9†þÈw"·óxàM‡"žøþ»oå3Q‘¼é·»PÝs¢×@æ×
aßÖÁ4ä_øF‡û‡”°n\Š#ÑÒÍLû„¤Œd`gó2/‘]¿º}øÓ(@“&R‰ïy aÇ
éÛý]GžF“¿*òËÌö›qä¦f‰†’’eê´¾V¢âØ0ÿ¯ +endstream
endobj
10 0 obj<</Type/Encoding/Differences[46/period]>>
endobj
11 0 obj<</Length 214/Filter/FlateDecode>>stream
+hÞTP»nÃ0ÜõStmt4¼äxèµ›]‘hW@M ´<øï+)N‚<€GîH¹o-Ù +endstream
endobj
12 0 obj<</Length 117/Filter/FlateDecode/Subtype/Type1C>>stream
+hÞbd`ad`ddò
ðò
ðÑvL)0q6q5µ‰ŠþæËùÝ÷«ægëyþ+‚Ýßy…@ÜHꀀ‘Ÿ™‘‘IH‹ïû¢ï³¾ÿmXñ»Ärj.+ˆr@tEñâ¼¼ââ¼¼ÅÅ+V,^¼BŽ À +endstream
endobj
13 0 obj<</Type/FontDescriptor/FontFile3 12 0 R/FontBBox[-31 -250 1000 750]/FontName/MPJMPL+AdvP4C4E59/Flags 6/StemV 0/CapHeight 677/XHeight 431/Ascent 694/Descent -206/ItalicAngle 0/CharSet(/space/period)>>
endobj
14 0 obj<</Length 409790/Filter/FlateDecode/Width 2032/Height 1612/BitsPerComponent 8/ColorSpace/DeviceRGB/Type/XObject/Subtype/Image>>stream
+hÞìÛO«+ÇÁ'àûÄlf˜Í+È:AÙ½Œ
ÖÖÆzg6Yi“¥ !Ûƒ÷?€£p
Z_o´t6ƒáÞ…!Èp `4'ƒÁp¦¸‹vWÿÓ¿sÔ硸Ü#u—ZUÝî_U?> +]µ×Zóù¼²dÓ…Y¸rÓŒ + +¯ŸXójµjºfËó\Ë + +áõårYY>ì é(€<Ÿg'Ï+y> +¾þ<?>:Ñgû¡ýÒ™ÿ§OU”óü8·¿Ot®„Ö‘K'yþXÉó +ŸnœÃ-pyªa¹´„-íMV«Ç<$V¶Íì•¡i2êYv¶güŽa»ûY9l9ñ@ +ÂýiŸì½eúbEŸ¡²rBrËFœç׎^”ç‡d^rÜ|Wà:í÷ûÅbÇyËo=ežßtb ¿’éfÄójËÏküm=¢M®?ϯm¨òÃåÇž2Ï?´Gjw¼²xUcíäùc%Ï +Óé´ç¨Gô¢KÜÚ¦é÷é~噫˜šVÆéЇ¹Ây»rŠo…˯Ç3mz>ŒQäç™J=éZå +ËçÕÚÅXíqÏ
7Ïc¸•ñ‘Cû%^¥
?¢|ISî‘Ú¹qJ…í(ÆjýÜÐIž?Vò| +±¡šòü°mµ[¯ÿàp
ZÎÌá´Ótþ¯×;†ÚšV©}\+œÐÒœ¹ˆCý¡ªÚÍK'{?þ2=®=ɇóðÑaþãÕçùY–µü¶\Àôï—BhÛô篶mc<6Œ§Óïq³›†ï~t‘[#Ï+y> +ßèˆÇÜ*ž1> +_omiÞÐq±GÚ¯Žè—(´dø òÞRÛ¶¡Úbœ·ügŸ)ÿö•?+8âÉGn™<¬äù +Ûn·iÜÅ7Mœ]ûŒyËtýr¬}=y~g÷•g7U7 ÿC¡a›fà÷œÜž.7£Rye(J·6~ÐAy~¨?Ǫږ4_QžœÅß¾þúó,+Ê—/_>ïÆÈó{ +={-|©+ÜBy>ç"Ï+y> +Ö¹=#ýétZyt¢³¡ÚÒ‹'è¦,ËäùpãäùC$áävØÛÇJž +-Óþ]Z"ý"!ï¹íãaKGú4TgÍÅwì|ºäBÝÔ4N$χÛ!Ï" '·ÃÞ>Vò| +‹UVlJÑw»Ýjµjš^ϲ¬2[»IøˆårÙ”Z/‹Ðý'Ò‡%ÃG78´aMÂê•Vêì¾´ýÓJZ¶*ÔÚ¡ÜÚ¡¹ÂwߥOË„eBýqõÉdj‹›tèf”{*lCØ
ÂÎptC›jû@ew +Úûg隸‹†¯9/9ôa`¸äùC$áävØÛÇJž +o5Õ´J(a3ݼs•rVöÞ;ïž½þÐ ×SþúÅåøèª¶í òáûÄoñ—?ýy(›ýððàÔÄ¡äùc%Ï +=3üJY.¿»ñv;ñ)¡ò,};! +/îv; +=þý›ñ¼“ócÙí~°‹œÅf³™L&/1NÃZš +yþÓ·í“É7}nðÃbÂFnVÿy°-³[g³7GÙ~ÿ£ÖfôæóoÏžBßÝýÓIé,%ôŽ]àtëõºvþü—¦Óiº˜‰ú +pŠív[žrŸeYí¤µh·Û…ef³Y\Ë,} +ÇZŸz:™ õŒxbyg~åû×Ö~~Å/;Àbž¿^¯XÝü| +…âÀcWä~b[õ9$ÃèF༹qg¬ÞÝï_3žwr~¡sœåˆ:X,Å}høOžçýW̲¬Xq2™hF +W%¯^çUBpÀi4¡´ÂóÆŠÛ+úf³ðý¨6»%•i%Æ4$¦pƒ®{KeóHL`’cÔiîw‘ç…tïXgæNuÉùŠåS "7ÃáÐqÃ0p“oY¼_k›,GA„nA Úo†ëº±'Â0d?ö߈ž7E>ÿqÏNU´ØRÆÊÄÓ‰Ù†3šY:Es©ò¢XL¼Ñg§ÜËáγKiÆ|XzÞîKqÏHÖašë´Dg¤Ï èÁ"åÃF ì@ЧÒä|Žt=Ö ‚ +oÓÃá^¨Wƒü²ÒëÂKý ‚ ˆá0‚.ý_‘•-`YSúðÕqœ¬-zÞùü ˜ª¸²|IwREÜ=ÙF¢h¾TÎs隺¥H%aéYª=»dÒ—&õ£ÛûZ4øëûQÁKHË;£¬:9ŸoJ¢Ç:ADKA^ö ‚ ¢‡¸®ÛG<÷Þð wguunÍ4M~›Q%ÿ°,þäû~͵*g/ôÜç+ŠÜÜþVš.‡çé_èfQ—ùЛ$E9¸=ƒV¿³òÅÝ4$gåÊ| +EiK=~XåaÔêpX=Éùiü¥”ÀAQ'ð"¬"7~ãÉßþÜK¯fôg/ÿ!‚ :Cžïa²{á©øžoÛ6ûÆ4M×u‡ïD€KC=Oî¹Ï—¾•3-EóÜ—ºÃ¸Ò¥¤âÖá8;Š.Ô4×KO8o5Ð õgƒC±ølêÏÒ”ï(¸ 5Ï£5;>wà°íQ{›±žä|†t£ô)
l‚ ˆrñ}õ1ƒÁ +®¾ÛÕªž7–ŽÌe‡eÍm{¤®ô¡g)ŒU:èti@¡O¢f“óÒgJëÖ"‚ ˆÚàÆ +T}#Åv8¼«É}2-A!ÝÀ_ëi|¶Ð:$ç3¤‘bx¦ÓÈ'‚HÂïûÈ_uðù€wuŸùùËãG#ç·&ˆÒ?™?<w#b߯íQ_Am¡c>?ÃÕÂTZ½¬ä|†ã8YŸí›Ï—ŒrzáÝÞîuÈÏ츈f‡mj¨ €ÔÈB+ü3®j€¾éàE¢’?_|] +ÙJ<KŒ ´hƒC‹€EoyµUO,_YÙÒ¹%¥Kz=Éùi˜žRô ‚ ’À;,ò®Ê_À³2Ó¸pÅ+#õùF‡ÌÏŸßšÀ—öî!>s2»¸{̾?{ý€úš ‚hóùšcÛ¶tw@VbCß|¾&úBV¨'²Ðƒ}YþEÌŒö6c#þéïФÙÚ%î‰í +Q9jsËÐp›<â +œã³I¤>ÿòxÊüü…Ñ!üxóè>âó/íÝÛœÌø“=‚ ˆv@>¿‘¦F°,+õã½òùRwQ§ý“æZÖ
ïR‚©T™Â µPVV¶Zš‹Ô¼©M%xZ¬þ“oÒ*nA%¶“•zHߤ)뢅ú8Îô;ÜHë<¿tgVý=
'u)øþ!RY9‚ ˆ.Á-:àºnVZŒ(ŠÇaŸ2M³ÜšdùüÅãœüµ£ÛÓðýÉü!âóÏoMÄ®Ý9¡¾&‚ Zùüz€fxVƒ”T]ß+Ÿ+ôš#£h.u;ôú_O;ÃáûQmUÒMè)¢g*¯´V:oyð¼q#a&•W¬¥Oè8X—ªrØöHÿ
Mxì‰ÝEýµ’nºÑ³1ñ0DýÉùüYÓÈ&‚ ý±,Kå¥uñ蟇Ðu]ñíð}¿”j¨øüçnDˆÒO¸<Öú¿”ƒƒƒõõõíííùœžS톺’º’ÐýýýÖueß|~žç9޳òø`0DQTõuyfB*|"'¹±?>Þ£qwT¿<÷ýHê©ô—Tš#Í®¿ëñ*i›¢‡Ã¬6žÝݔٓ†3©Íö¼qEW‡õPejÄZ²¸„ƒ}ËÚ(EãWt¨¹»›Úk€W¬Îmkê©gKRŠ>ADà•9öÒšõNšÜ–oÜeU#‡Ï¿¸{Œøü›G÷oOœßš¬íÌêÜë9>>¦Ùj¨+©+ êÊâôÇçAKà†Q©!‡`øµÇñ}?öOÎâqƒçy<íÁ4ÍX”¡ŸEsÏÛöøFÏ4ib#ÕÆU¤Îv7FÎ …g‡™:¨¶#WÐMåÄJÓtõL)×VúIãbz®HR^ÃÜ—Åä&¦ÜFÕ°>”•ß"ùÌ.õ
š^mCum¬0>¯)EŸ "x…÷YöÒªâóá6™¨V„>s2C|þ¥½{miü›7o2Ý4›ÍÚRgE¢(l[†™çya"Ÿ‚¡5DÁÇ>”QQæg‡»2uA`99G§ÔÐÀöö6ôãÆÆ†JW€„̶m>ÎáG|ï’Ê(Uo‡Ó¤?,Õ•úL®>ø|˜#†aœBKª˜æ0;àÒ0UÅ +4i8LçÙ]]–{n JÒlózrŒaÆ[¯ y†»€›]öE×½¥[w‡w¥’5¯¶éîY輡@Ú׎O‚ ˆ¶†!“T¸ŒÍGŸ2ˆøüó[“µíññqÇpEŽã – e¥kÆR7¡üÔ¡ÈÇ\EÑE÷¼+³XÊ7f,öˆçyÒr`̈©¢—êJXMÓDFi–âS¥¶mgÝ£ÊÇYª‹z´…ÖÍÊ>ø|X½¹Ì‡o\×eòÀ`01…^ +©ÿÉ >?ëƒ}~–™¬MF)È»Úú +iv±VJ?¦l/ÆRy¶¦¹îº·êläd˜)u”6x’æEëÓN7Tx{ÂðÓª1a"Hg1XÆa…YÊ™Ãx€6g|~L=ªÎÆGL}² ¡&ÒpFSA϶LpÍc‹…7ºÅG‚ ú’wÍ^Þ?øÁJ}þÉÉÉ|þË3Î^?@”¾´>bQYÀ pµTQ,õQE6ƒd9*>Ÿ— +(šR¯ +ÃíêJQñùYw‘Ïç#Y¦Z +ßdÝ \‘ÛN¸õ`Ž¢ë•,*õd^_b]+ +†Sì|îókn«¯}ík*I¹/¼ð?-k”ž9s&«Vb~òÇ>ö±X’Mº¿¿+j0$cÌã7˜,**J½¨ÍÍMiQìœsçÎuÛçû¾Ï&r”ábgÖÓZù|n +Ú•o¿¸„Š„3w>Òýÿü™ŸÖ_«Ôq¥(úšõùÒœØWÿþûü ˜J§UjØ®ÎUô³Ï¼Ù „‡öYYÙ‚Ã4׋—CWTúõ¯íÒ½ÐÚ<q’ãJ1l×¬Ïæ™uõ…½AŸ/ã|ô£ÿD>Ÿ ¢aò¤PÅ(æçç;ßA +a)Ž›››óù£÷—ÉlŽøüW¶"õ¢RáÙ’±p**«¨3gÎdYúXQpEžkSܬ!µúÊW¾’šü,ú|äaóÇΡ\ª(•ü|^žŸ=ȃeYHQ|
q'5?¿ž¶‚Í +ßøÆ7ð¢ž}öYƒH¥Ï=÷R+Q0Æj•lÒÔämÅ¡i½ª¨¨ñx¬R”J~þ+¯¼ÒmŸÏÆrßJ*Y;¹J§~Ÿ +ü…w ágŸy7¿o]þÝß{kY¥Ïùš×vߤkQƒOœØ¸:ÿ7?TYŽšõùxl1ù4ojm_<zyÙÁÛ6ù|‚ ˆÜˆ¯½¥Èí–â>çìõƒ,Ÿï]ݧžªÑsª¸ž<ëtnHðBø D|>^žüœz!ø¥çy,hUMî5è9K +¥?auƒ|¾¢ï6ëó¿ðÅ˸êI:ä¦ìJÍ¥º/©ôË•çkHËÇ,ÏüÉ0®Tì +ôÝgŸy7<x¾n³ÎGš¢ï8;õ×*6®p}꺷©Ujâ›\b;qê÷ùÒð
Î7Þ¼Ys²ÆÕ²a²")ôŸúô›¯½vu©9ÕûÖ·~ª¾X1Ó[çÚ³[ºÅ€]M|¾tÛì
ú|<¶©©(CjJSôùn‚vý÷K¡ úøü£C$EÿöôuVmp?ŸÌ²N%Š¢•÷¯è󹨴m;u,IMiÖ…<ÏãVÎ'«Ï)×çCænÖàˆ'dù|Q®ëò ’ˆã8QÆÿüâ +(¦ô˪Õ÷‡{ð×4ùIûúÌ3ëçßÊj«o}k7G +ñK/Ý®´—íùRô«®W0*Ô«W[²z0Šæxmÿê¯nÕ_+4”T>ýëÿ\s¤ãêoÿöê|ðtðýBs0¦Š&Ÿ~úzk»tjÃí7þĉ+XT¥›qê¯?ð'TêÓ¼Áµ}¡¢¸Ù›A‘ +¼b§šØÜäöù—ÇSÄç_»sBUŽãàJVEŸoÛ6;MÔ¤‹e|>³¢¿å‰âYP3£\Ÿ¿ÒïSKø³|~ª æ†+}<íŸWÏìùV<|”ÂTâñˆ|íÏ£lb؋Dz΢R:ïóy Jú°`ë<,57{ŸŸoÖø~”CHÖƒÎuË"¦ŠMÌÒ/ˆT=5x@k8ÎÜlÍßçwñ(’J2¹6+IÎýzÀ}ô‚ní‰WضGMU.N
“Ñ|Ó-ë0ÍuÏ—µöªokb³‰/#•"Í͆Y¯áÓÀ—£:¥7©†í)]ÞµõA=dYŸíÎÉ¥½{'ó‡·§Ÿ¿¶sDm[ܦ4ÞRŸÏÒ°³ö(šR®nD1Ë ÅŠYÊð{>jážPºÏ}²Ñö§ŠwþKè) ž‚~ä#_^T|>7áC™*£Ôó<¶× +¨øü ²RvcJïLø§æñ á{1R{66r ج®ä猼¨Þb0PÅý#ÉöϺÜ)±âóŒýÔaŒìh)ÒYY"7î³GÏÅÝB—ëƒÏ瓚Åà|ßç‹9ŒUœ|ÎÖBmÊçãªÇ0®4ÔASü=º +³Tbå•>œ™ïQ4Ç
‰¢ÃG* +ÿñòxªS“?âðððµ×^#ŸÏá†D´µ"0a(rkšfêXB€îºnÒØÇ|óYÕHíÊíííÝÝÝÔ¿¶Îçö:¿Tw+ú|èYöhv±»c¿Lõùb¿ÃØpg0,µ^‰Å²®ÜÛÛË:§,ŸŸUN†Pq)ŽÅ8T¢ +²º²tbæ"EuÌçóÑžuu˜°\ìØdó·æz6èó¥B²æŒDÜFjžÎ'RDéC§@³Ã‡ëÞZYÙR—]¼døl¹7åû‘mª“ùp§Q¤ãnV<"V³õ•Zèúã%6fBUjwKŸ\„âšYÅH†KK—ÓV,MZm¸“þw¡DLºs¤EÑg‚ ˆŠ€÷PÑðH3¢KÑ^Öç¯í1mrîF´t}ò`'œßš°/Œõì$GQCR»‰»Ç‚A©ÏgDQÄM+•:˜Û/â<WV¾Û"™oš/â·S…Ï_$RñiIû©>_<3¦µ“n0&îÔX¾ïóñPÊŠ'¥|ÏH,;ˆï…šºà0·ÉÖKýýåñ”?w +^¢o>_ôùY]ÍO‡k—C“:"nŠ à°¬²Ä8”V*‰¢¹çña£U…+E«ýö&ç+N™zê/,S<µeÍT_á̲zAºšµEÛâq(¸ÍÞV&7øÿ$m ôATAEÉl|àS%æs.ëó7'3nN&³9×õ©œÀM‹wUÓMâA¨‡TšÅ4ÍT£ÅÅc2%8.Å}>ày^RuÏ †
%§Îè£ÜÁ¬ ›æ‹ù†ñ—xrþ¢2ŸŸ´÷IßåóÓÚ¡„TY-ŽÛÜ>Ÿoëƒ&P¥üб}(Å}/TŒÏÙІôpL…N°$F‡ì)Ï£‚W!ŸßÍú|ß4q€Ò\¸Ö)_é•~Æ•ÚÔSÍággÙ½15ZóÒÑ$E¿íÉù\çÖ“¢/µ»5ç9÷ +ÆêJ?uÓ²HWi¨O[ZO«”x6T7<h«Aý$&ó
À—Sx'õ<oø~ƒüÞ¶mÑ9—¨ô—õù'ó‡\×_»sriïâóá„ÛÓüGø^Ûú§Úu„0S͉ºÏçúE6Å}~¬G œ˜Û—VóÏõ?¢è]éTä󹾆á”ü1ÖÅHGÀèò}?æö¹†…bWð3¡»“å%ó5P1¦Cr@.5JS[¯DßÍÍsûŧO÷—¬äØó®î³GÌ[›oïòùõÓ¬Ï_h“kœVØÈ$u*}Û5òïºî-| %]\7¼¨Ô¡Õ“‰Úöä|ÅùâûQ¥Æ7Û’WÜ^¢h.‘•µŒH£`p´+àˆG£`•Öa"C›·¨I)EŸ " Ë6MS=ëØ÷}.¾ÍzM}>pîFÄäÉÚÎÑÍ£ûˆÏ‡‚l¹´wº¾ +DÙ¥¢:y&¶˜·¼XÆçÃP¬ÔçÇٲ†}«©Èç/ÞŸŸL×_¨ù|‘ xDYè‹]jDQÄï]Ü„¢>JÅr·¿"lgJêv +YîÔÓþù5Qúâ•©8J¡pöŠ´E|>û ´ 2àº4ȳ·dÓñýbO?dþfèû˺VšNœY¹©¹‹ñù™C³¬J[@úú_ƒ‚¨š*”¾i®·ÂÓÁÔóÆÐ–R]i'žUÞ®p˜t5¨(I®‹‹Ð–ÚÝVãûÞ)±õPe`À9®{KºXµÚØhpwÍ®W t¤)úé#¢WðW×ÜoÊ%¾Ãæðù'ó‡ÜÏßž>¸´wñù×îœLfsþãæ„¸UÁ»’õfR|
®(á›äþnH<ÏK;P‚hQbéôE|>ÿ¬ã81¥?r½\J«íTçóB"tê& Tñ.›Xiðq©Aö©û|â†ÆŠ…mÛ΢±‘–:Èaâðñ–§Èí{ùÊe&[ZOë'¼;`p&ÿÊ.þÄ»Ð'wðtÕ硆zêàóƒ`Ú`~/ž[unsm”«ô]÷ÙE}€¾hÊw)9_eA¨(ÂhÛ£NÚݶÏ&ènÅUfYVð7gЃ*¿í›ÂOo|ƒ@PŠ>A§í>¸vçäüÖäâî1|óè>âó×vŽàœ³×Øì#DEˆ’w+CüeVnsì489&Þ‹øü˜§…Y}|ß•Þ7*õù<‡<µÁSÅ»èâLÓ„Xßá^]Zlbæ<¿(ä±`Dª_ÊpBÉ™RÄsŠSÚ‡54¯yj ψ+Cê(bå/¼}àôÃÇ>ÿÝ"—#Ÿß[Ÿ¿½®V—~&¡•&6×>&÷ú“–ß7¤[Ñ$êRr>_¤Þµ\».Í¿íLT±ÀxF[²Lã«G*ÝRøÓÜuoUwi<¼Ïú–6©4ç¡ÒV%‚Њ0UW¾ï—˜«œÏçÇ@|þÙëpÂÅÝcöãù
€Já³IŸ%}¾iš©þ¤ˆÏ_¤yZ˲báƒÞR©Ï‡^àIæÛg‰wX‹#M8_Êç/;^1XR²ò±ká° Rê+â9¡@¾a!õ¢©¶>#¬Æ‰þÁÞ`ÇÊÊõ"—ëªÏ_)@
õÔÄçK³|+J?ƒ·`üºËBwœeeh«–&7ö©….]v/9Ÿ!ì†q¥ÄIÚqAkœ¥‚¡¶=‚©!ͩ•JõꞪ
†ªv·wCADx6æ²öFÔA¥¤q–âó/Œ¥?™ÍoOœ½~à]Ýßœh´ëàà`}}}{{{>ïÚ–íÁ``Û¶˜®ýëº.>ÞàS«(žç!%‡CvZî'0¼á㢨1nDºêpW¦ÎYF‘“Ù/S–$¹Âð.Nþ ~ã8Ž(«aøÁoTƒX¬zWÂÉ0¤ÅÑWd£ ýðk!àu^ªý³&T[Œ^Á0¹:±*eVòÀ
²=ÇöW>ÿöKEêÜUŸ¯y=5ñù™Ôª"O^jíªÛÐ ¾‰MmW˜®‡›…F†šŽV'ˆöèY|<—î|ðÄãVg•K#_¶=*åBž7®çBDñù…oæ*å¨Tw×ÞPÅ…ÃpÖHV@=àwG>Ÿ ˆ^!戦ʱTƒ7´eeÍ•âó/§ˆÏ¿vçDÏ^ØØØXÌññ1ÉVC]I]It¯+ù^¶ÔÝ"¿ä pÿ½÷žÏ?|ËûŸEêL>¿-TäóñHøRúà6²í¯ÿD‘¦û~TÖµ¤á°Vïæˆ¢¹TÞoL•«Ð*¤A0•n¦(xtc¾ñ
ž¼õ_´Æ 2zÞ˜¦'A½BLdeɇ®ë²ÔP–2mÛ¶˜Ì ß—’œ¿(Éçßž>@|þÚΑž]póæM¦›f3úOµÝPWv†íímèÇ
êJêJÑ®gn^¸¶jþfÈ|þïœú_ó%·¼!Wì@Ï_–(š×):ðð%¼m$¦ø¨.1g´:9ŸŽ´1¦RKwT±/‰(ô¸4j–ûèÌCGš*_Åþ¯F6Ôܪ©÷Ø=AKE‘mÛ§–Ç4Í ˜²)ÅçÞÕý,ŸÒ¶ŽIvêJêJ¢{]麮eY™Éù‹ÅÎËÎ{Éù‹ÿj¾T°ÂäóÛBE>!³[%&õe½‹Çpx—–¢uàIªe)ân'çs¤æZ;wá*ÁÒt-e9Ûu©»ñ¹Ïúr/‡GߪØß×°hÄþu«ŽA´ß÷Å×RÃ0à½53M1eùü£C$Eÿöôõ5AQ.ƒÏÿÊç¿â|³`iäóÛBu>_*¸Êrì•j:‚h(šã±*økÚw>9Ÿ!M3.’i,]…|?¢ñ¬-ƒÁ¾4(¬rÀdÇMñ)©aûà«P¹Á|6uéíæycÛÁßPÈ "CÏóÇWTÃ0bÙøðKx]õ}¿ŠK—åó/§ˆÏ‡¿R/AåbÿÇè=Ÿÿó_¾[°4òù2àF kÄ_Vçóµ$õù~„Ú½N´Ïã#¼à<êIr>cuu¿Ù|û†pÛ ¬„4’5'™,½¬Æïvf5Þ8%®Ò¸[÷Â%A„”åóoO >ÿÂèšš ‚(Ãøerþïœúá÷ý( +•Ö1Ÿ·³ú˜VßS÷±»¨ÔçK5WÁsiö2¥ÅÀ4׫ÛêbÛ#<Ö·Æô¼ñ²«´Ìn›ÞÎ + XÖFßR‹‰Þ"õƦ¹¾¬7îar>_”ð`E3
hÛ#¼ÏÓèm#A0uœ˜V0T˜Æ§¸.Û™o‡v+r <d@[]‚ ˆê(îó'³ùÍ£ûðÍíéÄç_RkAêX–•êóÿõ¿ýhE/¾:Ëzâ|åïò<qÈçkH#>!ˆµ¬ezÞùŠ%mqÝ[åê÷~&ç3¤f‰ÀïáãÒ\eZ…ˆî!
„Á˜Ï½nH7ÎІ;‚ ¢: +úüÉlî]ÝÿêÛï\Ü=†Ï^?Ȳ+pµ6A¡H©2ÿ/á™rîFô«GYOœÕäyâÏצ|~Lñ—ôe3úà¥^j†Ã»ÔãD—f•Ã_Õ}Wo“ó9R!ŸLöýHªi":Œ4’‡mr”,W„¥ö'‚ ª£ Ï¿<žŠº~mçIÑ¿=}À>5™Íù÷
2ŸÏÇãñññ1
ƒ¶ÓÛ®Œ¢h8AЙ; +ÃpmmmkûnÙuÝ•ÇÀ7ð‘Š*
;VßÃ÷ýê®E³2 tnRæhå?ðgÊ—Ö'NŽ+’Ïצ|þB¦Îgg©Òl{„¿ø/[ A´iV¹úÈ—zé'ç3¤
.äƒ`꺷¤1ÄR¬&AhŽÊΔe£Ò•
8‡Ÿ ‚¨Ž‚>ÿöô¨ë¯Ý9AìÊ¥½{ì#bJƒloo¯?æää¤íýÈåÆp8Ì}²hHÇQ¹®iš5H•^ueŽ~ü7\HªÌ謓ù² +©ÐèÊ"³’
ï$_Z{[Åç¿~9ÌqQòùÕ1Ìõ¦|þâQÌz÷‡*^Å$PÑééÿ–µ!-Dê±ûã¢óéúÒó“ ¢EÁTÅÀÃiÒ¢Td>M(‚ ¢Šûü£CæOàøñìõıÀ 7î‹)ý
Þûáááöööîînú±tŸø¾—㺮&>¿K]©3Û±äüE5>?U‹ÄÔkŸ]ÉRôSãìB±‘É2öU‚R X`Âó<î¡Y˜ZäF=Y‚øÙ$±HA²aù„ÂSKˆ)}‡èÁÁÌʽ½½¥Úß¶mÇq`xÃ7I™ÿOþ¶ŠÌ‡ãÆFžÕ€|~uœ*FS>_ªáõÎÁ¾ëÞÂYYÙ¢BtÛåi…ál8¼ëûÌ2JÎçHã#9Ó\§-BD·Qñð–µOE™/-‡ ‚ ŠSÜçÇòí×vŽÇróèþâý)ýÔ¥P…ÏO͉ÉÉ}~ogn2/½ +Ÿ/Í~‡¡R–ÏL–Ã*–z*#‡‡HØ-gèy2æ¥68CÑTÃËNd±±hNgÖ±Øä|ô?¯"óÿûÚF¾ +Ï¯Ž–ú|xWysG¬¾JN`òŠ‰Þƒ\:‰<oóȶG++[˦ ÷m9ÎN¹>ß÷#¥M8` Êú¸¢Ì‡ÕŒëAD
÷ù±|ûkwNÍriïÞBHé?¿5¡.(…r}>ó†a …A žL>¿NÂ0dmîy^ìOåú|Þ¹xö;Óàüäâ>Ÿ._Í®EQÁ‹ò¨„eYxilG@ªW´Á<ëAʼn\|ÝÖÞé¬R¥îç^zUÅçÿõ•wòÕ|~u¬‰>WýèQ÷fLHÆ>nYø§VW÷ôê*‚¨jØ+=«¼‡ÉùŒ(šã–ÊÌ'™O<xð w*}(g=—Õe~P¾"AQ¥x!nQ.§“ÙÑ,Là‹Îÿdþz¡8åú|®+}ßÏ*ÄuÝØÉˆT ‚`ø˜˜ü$òÁÍsR;—ëóyçBwgƒ$v2ri¨ðð=ðº1£‹o
€Ò˜ÌGª§‘Hƒ±ÉòŠ6˜·pVÖ1Þ>bm‘ÎetÔ<ª
Èíýa|àô¯«È|8®Žþ%_Èç·…:}¾J‚}LŽÁ[?û¬ç¥'So=¡DM;\þûŠŠ4ô…ãì´ÎäÍçsšM¥ó½ï}ïàà€¢¬+ŠÓd>AQ'¥øüó[fQÖvŽàdz×Ór2(:ÿÍ íG+r}~EìÇq² +aÂͲ,nÀ’R%îè8†aÀ™mqŒ‚÷N¹>Nzu1¸€\Ú󼤤…3³F,œi¸T’íÀe~†©ù½1x| +ó"<xaÛ¶øûz|>r!ß÷EÕÉ€–WÙéÐì¨f½‰$çøŸQôù{?#Ÿßqêôù/·•#åÕóÆRi0Þ¥Þ$úƒb‚ëRLÏÞ¶gŽ¥ Ûñ˜cë¸zõêÑÑM%¢*azÑÌÃ7*! +zR°û¾Ï. +’Ž"$Þ$ÂkˆìIQAÑóËÅZUq"óÐIìBÉðY,z¢ÿ¨fõLÿÓÏ“=5V°<bþâÍÉ]
òùm¡fŸ_06ëpœêJ¢oXÖF¹ó¨ÏA±0œ©oy€–÷¼qµ;¹|>Q +*±E˜20_HæAÚRŠÏ¿ytŸ»øqs2CdËÅÝc8¾Š! +M öŠ_h±ÙG+ŠBçä…úá,^K]]cuu5
å|þ˜AÂ/p°—®ˆo +6 æ‹k°Ù3+îñx$OFØŽ8”q;“²Ÿcf(óL¹ñÉm¥èˆò”ïX"m†ÏO†•ÏMž»\Uq
+|~ºPýÙgœ81ähooG +,¤}V³‘‘¡( +Æw$!ç³Û¼½äØìŽp×s/[)Îç·›DH¡Ïû>?.ðù +}>ûP¿ß? +§G(òx<™™™Ôô¿‘¸'Àç +ÛH¼›xFFFÿ_žð¸Ç$w’c-Á`»í)(U>Ÿ’ž7âaRÊÃIÐ狎@ ò=èÐGß"ÄÈ‹Ñö} + ++ëµXó?’†Ò:LjV®>?nQ7¯ÁN<™ÐPVUU%2”š¢tjLI·Û-‡gffêM¸uŸ¯Ÿ´‘Aî86`ßpéÑ[ú]9öxBÒ¬f(5;€²þ<áqì.o•Ü2¾ó]꼑ãóÙƒ!ò‡ìʷÄA%+
6úüŽýÑfŒ¿zÆøçŒÿIÎøŸª‘™3þš™ã¯9~ìÌñã¢1nü¬h\§Æõ³ÆÝ0{ܳÇޤƄÙc'RÌ;iÎØÉs®¥Èšsmöœk§ÌÆÔ¹×PL›{ÍtŠyј¡FN42gª1k~4fÏÏœ£ÆÜhü”bÞÍ?‹›Õ¸E
7Å-?¡¸U±ÈÃ…Ñø1‹E±Èb1[£‘¯‹%ѸÚ, +îqËÀ¸™Çæˆ%óÆÜ1g`̳ÆÌ‘30f1Ý ò£ñ“hLSÆ”‘=0²„˜¬‹Ic¢úc1‹›DÞM?e±hB,T#W(&RdÞªÆsO>æÐ2ÏɺvF,¦ŒiÙј‹)Ñ›‹,Š)ј‹I±˜¨ÆŠ©ã(nŠÅ±¸AëYLw],ÆGc¼ã(¦‹kcqM,2cñS5~‹ÇâêéÑBñ#5®šqö+{ëêœh†añ!Õ°l™ÑœÃÒε±ä3VHAãfõg!<]KJ7Ì{c,nÏQ,MMRÓOVY±”•=·?k©‰ëÛÜÕŸ¾bLŸÇ4©Œe³Ù&9MŸÖÌ2Û²ÌfœÓX*Ò—Qš²š…ÔD4Ø\do:Òd¤¸IÉÆ¼d˜$©IŸÌ”>G¦©Üþ4õm¦¢pÇâ–XÜL1©?æÇb^\37s(&÷ÇìXÌŠÅÌXäPdQ\+É]†é‹g0yÓç1ÃT¦Ïf† í:]BëÏi&iM’Ùâæ·«&fÂç +OÔ,ûðü²Î/ûøü²Sç—~úùÒÓŸ/ú¢àìÕµKÎÕ.©©]r¾vÉuKjëòëBùõ¡ü†úÅê7Ö/þ²>¯©>ïŸõyÍ
ÑøWC^Ë?Q|ýEÊŠ…mþ[޹r/5F£«1·[Ë_F£çËÜ+ÑXÐÛÔa5¾Q£/·j"b_Þi¼5ráÖ>Š,èkXÐW¯FhA_Ý‚¾Z5¾XÐ÷ù‚¾ó¹}5¹}Ïí;§Fuî7Ÿå~sVªÜoNÇâÓÜo‚¹ßœÊ
’þ87üQ,N. Ɖ…½ï/ì}Owö_ØûŽÇõ¾½¨·R·õþmQo…]Ôû—E½o.ºòfÞ•?ç]y#ïÊëj¼–w¥<ïÊ«Ñèy9¯çh,y=/åõ”åõ¼˜×óBÞåçcñÜâËGÔøãâˇ_>¤Æ³‹/?³øòÓj<•ÙŸ¹4ÝOæwÿ!¿û 5~Ÿßý»üîÇ—Dã±%]Æâ·KºYÒõ𒮇–t=¸¤Ë·ä‹K.=Ðüû‚öýÊþ‚ÖK[,ý—oéW¾e;eÿô-kò-k|pÙ…—ýã¡Âú‡ +CÖ>\øÅÃË?xùù‡—·|ph™}ríK¥kËJ×¾PºîùÒuò¯;â_ÿGÿúCOö©
Ï<½áé§7øŸÞPúô†?<½á‰g6üþ™?»ñ±g7<´é·‡6=rhÓÇ6?xx³ïðæ‡7?ðÇÍ¿ùãæ_ÙüË#[~qdËÏl¹ï¹ûžÛzÏŸŠJþTt×óE{Ÿ/ºãù¢ÛŸ/ºí…m{^ضëÅm;_ܶýEoq™×[æ-*+ÞZV¼ù¥âM/o|©xC xÝÑâµG·¯>º}ÕÑí+îXñòŽå/ï(|eçÒWv¼²sÉ«;¿º3ïÕ‹^Ý™[¾kAù.÷k»nym÷ͯïžÿúï™óúžY¯ï™ùÆžœ7öLÿóžiÞ3åÍÛXPb™þæžœ¿DÓˬ¿F3̼Šh’¹¹b—»b¥š‹f›¼·¢‘_¹cI厥•;–Un_þööoo_ùvñªcÅ«¯}‡RPñ5m>¾mËñmEïnÛönQñ{Ñt´ã½¢ïíyoëž÷·ÞþþÖ;NlÙ{bË]'6³ìt/%¨6ßÿá&ÊQ¿8MS¿þhãmØÿÑJV¾7<Lùêã
¿ýdý£Ÿ¬ìÔ:ÊZ¿%®ÒàZpíÓŸ®}öÓ5”¾Ç2ØógV±$öRÕª@4•¤TV~våkg=¯FÙlÅ›Õ+„„¶âmžÓþ^ø~MájZ;©f¶Sç—?g™@ŸÙ>W3[ˆe¶Ëlߦµ¯(©9õ‹(›µ«ÙŒ¥².5ƒQîb)«O’…bYÈZ"êã‰È,iÒÑÉÜð‡æé¨?#©éh°éµþŒMJ¯y‰'%5/]æyéO&y闞ΗšòYjú6;ýv`ve§ýÆ JÙ¿ôk£%¤©eõj¦ª‹fªå_¨iŠâï¬8§Æg¿]qö·+ª]qZࣞSz>yÔóÑAŠ•>¶òƒÇVžxlÕ{GãÝÇW½£ÆÛ¿[Uù»UoýnuÅï£ñ—'V¿ùÄš??±æu5^ûÃÚWÕxùɵ”¸OFWYéºþÜUÍ]ÑôõÔ€ôõ”š¾¢ì™o3X4‰Úô¨Ä:ÔŸÄöÿ±?ýú¥²þ<ö³#[îWSÙ½ÑT¶•RÙݱlv§šÐn{¾ˆ²Ùn]BÛf”ÓÖGÓÚv1y^îÏl˄̖¯f6Š…±ävëkÑüvókÑä6/–ßf«ùbÒC«àó +}?¥/’èN’}>qø|›DÔ\ìêÅ {}~DÐõ†g…¿™Ï§uÇT°!n·[#]éWf†322,jÞÑ ÷·Ô‡úwm÷ù¢®7<‰(üÍ>šŸD
·™NäX¹"Þf3mxùŒ!,%®"5{^ úüÁ®Ûß!ôïR;™É§nIá½ÏJq>ï1c~0vþç’ÛļÞYû"ç|¶·sú|6“iÖi&îC$îRZoá¿ðùðùðùðùðùðùðùðùðùðù +½ÐȱºL¢ôQ œ|ŸO<Û*Ñ5m=ádö@8T22ZÇŒþA훸J±‚×:Ÿ(í5‹KTý†>_s*
|¯ý 3Evé)=»z}§[$Snøµ“Z+¿^Âmø®($#÷ùi¯o—Òú³Në—cvZ³c×°Ö—’¡Øä]G7)Ã=:@|jLô¨ƒZ5†—/®VºÁÉ÷’ƒ•â|ºSkÿwÜ„ïÿðjúµ¦G²F +´çו}üNÜ•2’æóùÿO¸0l·kpõ÷6ú-<öÿ.Ã'Dìmø|ø|ø|ø|ø|ø|ø|ø|ø|ø| +4‹hEðµC¯”»hbÔ¶0iÈØô¦
‡>>>>ß:ðùðùðùðùðùðù +{E¢k|§[Ø1¬ŒÿàÙÖîpŸC
û&J/™¯èC^Ùkñ`ÏèÔ}ÄHòú|EQØßŠÅÌt~:fP–ÒÒÎçK&|\6(Efv°ÞçëÕ}ÄHòžMLÚ\ì{<C·oh5%;¼…ܱ'¸Ekq)‰î]ì1£š™XºC62‘U3¨`;¢·w»ÝúVIŠó©7®ÊžÍ'ÿÉæ.ÉÒ¸û•O~xJܶ—¤ùüá¿d6Ùø:Òï71ó¯y¨Ä–†Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï +‡Ã---_]}ùüK‹õëÂ^ŸÏ— ׉úW}~D•“ôŠXÉ,ZJzËÆGcØPvvû=¶1”.!>%U>Ÿ[_Lé_‰˜ÒÓyÌÔ.½.ÎøجÊ}B›ïˆBÞúyøÓ
†O¦èu¨†¼jRèó©I|\Ìú}Ãâ|·Û]xà^r/_÷=úWþsCÇÛ¯eú|q&‹;núQfÓÒÆø|ø|ø|ø|ø|ø|ø|ø|ø|ø| +ý+‘6¬ðòðù6+†sÈÔÕÕUUU}öþûJA’‘1ÌM~›ËÕenòùúj|}ž™Ïçús½§¥SÙ¥ôÙPÝÝ݆oºtðlë07ù¾Ó-4óåO£¤ÊçGtÕø†ûò¦#}>¥eQÿjž“š4iÒÐ|>oϲÜã'ç¡õ¥Ä¯7AŸ?äU“BŸ/Ú`~Õ\ÿÊ‹óéÈüÂåâÖ|î|ºV󗽤ÐçƒAútÉl… ËífÛFl¶Ó»6îÃÂçÃçÃçÃçÃçÃçÃçÃçÃçÃç +|½ÞXðù"@ÀãñpÑ缇ñC)'…>_#ð5zŸaý£™Ûç{¯<¥¿ôÒK¥*o¼ñFe®²+upÿÉíº¸Ù$WkŽ·¾”{Ï.Ÿ?ØU“*ŸÏ»]Ó|¶È‹ó#÷vÅ'¹ôQt¤~ÿ‰²ŸËë;]_ÉÿA+Ó†'˜EE±wvÁçÃçÃçÃçÃçÃçÃçÃçÃçÃç +÷má?w‡ûœ¸¨4ªÏ‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï‡Ï +7ü†AÇ·õ„Å_1ÿÍpÔ狳hª‘#&>_\bÉñQ£®RÍ$˜s>?"d`C±lx6c7,Ø–çGãóÙÇq
(ÁìÙ¾ +âbø@">È«†?7¡Ùksîíé_qìâ¶_Óíü¡«²{ŠŽ(’ÛÁËÇÿÅ÷é¾àÐu%Ùçk6ȬcoŸ?,Ã›ÝØÚ7ÜFtö° +q
Í$¥t¹ÌÒç3|>Ÿ¦žãv»%Ë$®Ï§)Mg ‡a³ôùC[5lyÎç…BÔb'ˆ7V³®ÓtÚÅ®ÞÃÁOŸ=üè÷~ðä^PrìËP¨>Þt©¡ãŠs•dŸ¸Afe‰æ§oðúÚbàë°hÚ'ó>Uàóø|@Àç +ù|>úv™âõzÍjÛDŸŸ™™©y´|4“rŸOøN·HdNw¸Ï¡Ïmmm®®®««‡Ã˜ iÍèJæGX‰>
eUUV¥xq~ò‹ºEè–*—ù.—‹MÑ`0èñxèNÝ?c[ƒÊÿ¡h—ÜÆÎ¿ì]ûa2×Ô¨òùÌÒûý~ñE}ðÉ–ü
Dø| +ø| +µ;µ¾‹³3Dû]ŒÅ‹³¦æglÃYúw2’þå†1ÿÉ}¹ÝÊ#Wþù#Yqð)^ `JŸOô +`*WÉR>pHà+ù€°¡Éï5<.éùoÚ®ûOÌíôWì»»èó™½b«ÏÏíó7^G"ëc:¨¹šÝ©CMçfDß®à’ÖG eú|ñã‚< Þ?O=Ž-‚ Hí·K +ùƒ‘ß[r÷L^g¹ËÈBî`¹ðx…üÎÈo…Ünä7–¬c¹h&ÿmä×íc¹Í’µBn5²FÈ-3yMÌÍFVçFJËæ
ðù +\8™¦XJÉχχχÏGàóáóáóáóáó +}>këózǤô‡º|èJ)°g:áp¸±8âã†9 +
Óô‹ƒ•ùÓW +tÍààqžó…|>|>|>|>ŸŸŸŸŸ +]×mÊü`0hs|^Uã¾Ñ…kR’N~ÏîvêØùK*ùÝ=âói7f-›¯êKø|ø|ø|ø|>>>>> +üÁñcôNKRb{F&¦xI?Óû +Z4ùVñnEÓ4^>7™Oã/_@Q”ÛØ§Änÿ_>ßzŸ¯ûÚ-IIÇ~Öò ŸvÉ+³Â›fµ3™ÂYè)&EUUv}åHe¾é8ÃçÃçÃçÃç#ðùðùðùðùðù +¹ûåŒÏ·þÔG%½:å¤S¦ƒßz'—Ñ=r0+¼iö`%zð£¦g»§–nÎåÇ>>>>Ï‡Ï‡Ï‡Ï‡Ï +Ù“Ïî|¢–<—Ï®™¼ý¬,çžÈ3ù<ÏŽ|¶Ÿû–)Oia9o&OyBȶãy“gk>çɧù|s3ò¨-ùl¶ä‘|6²IH“‘…ò‘¿žÈyÀ’û…¨F6äsŸ%¹àDÖ¹WÈ=Fþ|<í<ÊçBþ`ä÷–Ü=“×Yî2r§;X.<žF!¿3ò[!·ù%ëX.šÉùõEûXn³d[¬rËL^s³‘Õù„‘Ò²yE|> +gBUƒ¦DS›Äb±‚Ä‹ +…¬+áÛ’eXSþô§O>ÿ͵ I—~ú¢Iÿɺþx nëósùý‚Ó8X¢/ñùš¦ÑgŽÐKëã$}>‚ ¨÷ÏS¿c‹ R{Áý +sÉú©‡g¥þöQE²QîuíÎÈèÓÖ5î+:ÙŠþäóåÂ竹^ÕõqÑ竪*¶;R*VŠ@gd›µ1Сp¼> +
îâl»ù{ì +=‰ð‹7Õr‹‹Å¸ÕwêžÚƒ>ŸhêN0ÉÓ6”_L:;³TõÛ¡¯¯™CW;hÊš¡§§§š’n½©kUËÖŒñxÜô0wÎPo§¢;Ò’4¾”lxq~‹ïÝ®íøü×^ý˜—ñ·÷BÃÁçϺ¤G.àó +•¤[»1—:ÀCÑ\‹O]ù}.óóy±qßh±›þt$®y®=ãói7è2€ÏÚô»ªªº&‹ø9À£äG<ó|> +SL¡³RIºy—|–‹£h4ZþžxÙ狌LLI|~s¯ÎcÚŸ^¦³Ó8Í +…ʶt]W…Fœ2³ãÛ~a•ù>ßæ›¶ë’îúœ¿òfkºëóÅs‰ÚE|ÈB;&Îì¨:ýî8ðù +9 +…œêí +H°%áó +‹ím,ãû¦ºKCŸßy$ÍEóóͽºD±2~ú)¾ +.ÆnK¹¡_\™Ì(WètÃ.Ù½:ôùéì4AGÒôÎþÃYÔzp<g©ê +•×ð‚Ïç{B'^ƒ¢(ô;SëŽÃÊ!诚Äã`¢ØÅU…Ï +…Lótƒ,‡ß)KÊ5YÉœµj.W—>ŸhéO2´ëÀ½Lf²³ú"kU? +Ÿ¾ACCqäJÝ´iÎHAŸÏÞ¬ðƒ†bÀç +{ú î³dIú +¦oçÈ>T—Ï'Çq™Oì?<!ñH¬´©;Á^¶Å¿ +> +u¶öý*uÈ´|Í|wU}‹ú`p«®OF6·Kd>åÇ×i’~ø–û&«å»»èóãñx¬œšcÈÎsÓåGÁ#À®¿T /N6lÒŠ}mŸ +«ÂªÜZÕž={N9åîfý~¿ÉCŠ«ÒuÕÛVF«¢-.X°@RÀìñÃNË‹ïëúd`Á½r™nU”îk·$%Ýïêu_Ü«±±±9ìÕ|¯jïÞ½®û|:QEaC³„‚W5s@Ó4¶BU°â¦#@ÿŸ}³’¢¼÷ýþJÝÎ·êÆªS™:§NYÇœh+˜_`xµ£øÆ‹´ ¢Øˆb≎c£¶r_0Û®q±MÜ@<‡ã\B¼$\“,îÞŰÍ!ìÉ:=›v˜0÷7ýì>ôÎKOÏìÌÎtÏ÷S¿¢všž~yúy~Ïô§ÍާlýžÿmVö’ðù|>@ àó +úü'|ù¢_
F|yÆå—L¿ü²é—_>íò¯M›ø©¯š2aÒ” áð„©á˦O¾lÆäË®™té¬I—^7éÒ믾töÕâ
W‹7^%Þt•(]%~ó*ñæ«.¹ùÊKn‰9vÜÊãŠKn·ÇÅUˆÌöoµ€Û7íã¼ÉŽíƒŸ}uæDèt®µÏ‹Înæ¤Ké4§Ä´ðetîS™F˜l·ÆÕS&P³\9eÂS3MDñõ©©¹¾:m"µÅÄé—O°›±h\ê9Doq‰·¸Ø[|Å[üëôË7¼ùZ•ÒšÿÇTV\^øW/1Ý-¾Rz\ì9¼ôÉ¢}»èqh +ÇDgL;——™±Ÿ_ã1u8¾žßÈWŒŽ+1…"“²âêÑ1itLæÎDxtL9”è2éÎÓx8²bnÌpÄÌáÈäÒk1Ë×:â:v6æ1{8D6Ѱ¸‘ÇH&¿id’F¦!7çLI·äLOÎjôÄtq=Ÿ+³çPgÜz…c¶uœàœ-iœ‘¶â
˜™GæG{Š¯Ï™%3¥}³fIê]|Šdó#u{63ÒøºøÊKàó +FÌØñè7ùÈ‚_¬^¦¯ZýŽòøÛ+ŸÞ|¿Úºâ•Ÿ,×Z–ýT[ºùÞ÷__òÁ¦{>|uñîWýöå»?Þx÷7È^ZØù﮿ëÐú»¿¸àÈ‹ó½0ÿ¸:ÿ„:¿WÿWu^ßóó>{~žõÅÜøssûŸ›û·g‡c w&ì8Y¹ ÍÒ¾h¿t +ÿé5Æ7àóáóáóáóáóáóáóáóáóáó +EÑ»Ì/´©,™_Ô”Ö˜C7ùÖ¦óoº4£÷GcY§Ä~²hq~4z„òmÏÀéôþˆKÖõcî¡Ï¯ö#!UUiûÔó³–S÷¦³·×h˜Ð
þ" +ø|ø|ø|ø|ø|ø|ø|ø|ø|ø| +=EûજËáóáóáóáóáóáóáóáóáóáóáó +ç¯ãZ^[X™=Ãøð/2ŸóSÚ,Éçûë5¨qðù–eEÔ»(Šš¦E])ãYRÙ¿:œT¤’>>>>>>>>>> +ùñ÷ùt;Ïv]Þý8ÿzE”ß}>±ñ@Œ¹£¶ÃiGÅ~ÞØÛ;Hëp+µÁøK{{ûÐБ¯éîîn·Á¥ê¥Ôu)zú×}<§y! +Õäñ!S/¬ÅÃèÍZîEæÓw™Ì—åì#ê1þÐþ‰¿Få8øüzCQ” +>ð|>|>|>|>|>|>|>|>|>|> +’)+R>ÿ©að(ó)týÓtæu°^AXÏ–\9÷—^4þ÷ÚºYþøÈ_—ÒÀçðùðùðùðùðùðùðùðùðùðù +픿í<£ûäcÛ=Ê|Mkg_žpËc×µ}ztÃÞøœµn öÍöoÕÐçSߦž©SÓ¦iR
…B¾~µ>>>>>>>>>> +»½ý4g퀇óú¥†>Ÿí”Àã +Ql±¬Syv·K6ù*_LSÄÊÍ–KFýâ…gê¼!‹RCŸOЯ¶kµ€;â2?À¿[˜ÏϽ(Yï#Àçƒj + 3øøüF +ù|˲ØrºCÌýV( +’Ç.àù|giÏÀiZân¢ööÒ:ÄØ#€¡ÔY( +ŸïàóAµû.::ƒ/€Ïo0¥ +€šF¹‡/ +åv˲r7Â(ðÕdYR©êÇe¾,ïȪÀ7Œ^AXï\¡Ð^(%:ß`rÅ)ëÙ¨ß{ |¾/€ÏÕîWP¸èè¾ + + +48ÌáK’ä¬uW«sK«ëº3…ŽÊ‹ÌWÅm}HK·6eâ÷nì]ækZ»ûwåI·[›ÎKïÉÿæÂPê,øm‡ö6äEæSPõ{·‡Ï•òÁ@átߟß`J +•G +C–Ì÷Mbé°ÏßY0 —-ó-ë”(¶8Wxò–™î»s +üƒgx.uÊŸðù R@>ø(\€Îà;àóL© +ð©Tª¯¯/‘H )ʆ¿²äRošf÷¨ëº³ø¿(´2}%廬 ó)i.'™/ë£Ñ#Î/Fo(ôÚ¹Î_§¯úò¹ÝÍߘÍKƒOüÊúÁ³g=çS‚
À¨„Ï•òÁ@átߟß`J +—´ù@ó¹Ò}J°•ðù R8åÃ¥_¹xîíw ê?èJñ«¶lÉ½èÆŒÓçO¾ò*ŒŽº1ú|4 /‚Æ |> +MÕ}}ίl;Ô¾á#ººº˜9D‰¾Ë²¢Ñ¨Ç§–”C¡Kªª’çc„òpÑò¾àrN뙟´ÒÛEf×§/Î_×Ôô£P赬µÆ"ó IÒÙ +ÒDÙÚtް̧ý&ݺKƒ+7[MMé%›â.i³eÛ ¶2ý›»ŽŽßJø|P)œ>áÇ€2jp²D1ÂQ†ÏG 9 +…ü(óMç‰_ZÅÍüè““ÌOgžžÄŸ¼ãVuÁÕÃ&Ÿbì.óÓö£ÏžÓŸûüÙ/\ðw—„IñÉÎnZŸVλX,F£òøñãþ>ðù "ÀçC_ŸŸ@r +E£Ñ +úè
MK75¥¯œ;è’0<ß_ÓnUàóA¥€Ï‡2¾>>ä +飺÷c¤Ù ©)½r³å’0'Üpªv=«ZÀçƒJñÛ={^TÕ‰5«vÊ–`œÔ;[·¢72Ô‚=l'_y•S㤎=ZôÊÒ:HÈHÎ +ÆÓç¯ãrž›ùJÊür‘åŒÏŸýpÂ%UÎY;@ëO +2 +šššÒ³vK’ô¿´Ž¢ðÒÀçPÐG +½æ”ù¼ž_U?®à±ÉrÆç¯is{‰é‹ž¡uêþqS9ÀçPÐG +XÊ0ZÂßvIkÚbMMiQìX†Ï T +…øwé0ÖoßøáKeÈ|VÞÏBÖ;‹öÇΙhtóóoº¤ÇÙ'ššÒ^nýÇmTVø| +5ôLÇ}¾ eT,³Æ»â}SYUÓ¹¨žpjšÍãïþši¨çö˜ôñ»?Þâ¢Ú°íœ<Óz0N#…1ÃãQÑšQW¼ËO^s>öM9*ï zqݯ ÇÎàQÂ{iy§ s1Ï>uò%Aç¨ë:°MÕ„¶O°Œ#¤šõ‚€êë{ÌùNÌ'Ý^1™¿§ü‡¼8Ÿ‚½¸ä\’‘]}Ñ>ãw?¼1Ÿ@@à;àóƒ +2 +…ø“øüE€e>š¦it²üu¤êA]Žv4–Æt>h •÷P .HZéíbÆ·ïýÞSÌИ^’Ì·‡Ã‘ŠË|¢¹ÓbÉmãXÖ’¼ñÝ–£NáO¦‚7^àó(è# diff --git a/neozip/test/example.c b/neozip/test/example.c new file mode 100644 index 0000000000..fd62bd5d7f --- /dev/null +++ b/neozip/test/example.c @@ -0,0 +1,1002 @@ +/* example.c -- usage example of the zlib compression library + * Copyright (C) 1995-2006, 2011, 2016 Jean-loup Gailly + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif +#include "deflate.h" + +#include <stdio.h> +#include <stdarg.h> +#include <inttypes.h> + +#include "test_shared_ng.h" + +#define TESTFILE "foo.gz" + +static const char dictionary[] = "hello"; +static unsigned long dictId = 0; /* Adler32 value of the dictionary */ + +/* Maximum dictionary size, according to inflateGetDictionary() description. */ +#define MAX_DICTIONARY_SIZE 32768 + +static alloc_func zalloc = NULL; +static free_func zfree = NULL; + +/* =========================================================================== + * Display error message and exit + */ +void error(const char *format, ...) { + va_list va; + + va_start(va, format); + vfprintf(stderr, format, va); + va_end(va); + + exit(1); +} + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) \ + error("%s error: %d\n", msg, err); \ +} + +/* =========================================================================== + * Test compress() and uncompress() + */ +static void test_compress(unsigned char *compr, z_uintmax_t comprLen, unsigned char *uncompr, z_uintmax_t uncomprLen) { + int err; + unsigned int len = (unsigned int)strlen(hello)+1; + + err = PREFIX(compress)(compr, &comprLen, (const unsigned char*)hello, len); + CHECK_ERR(err, "compress"); + + strcpy((char*)uncompr, "garbage"); + + err = PREFIX(uncompress)(uncompr, &uncomprLen, compr, comprLen); + CHECK_ERR(err, "uncompress"); + + if (strcmp((char*)uncompr, hello)) + error("bad uncompress\n"); + else + printf("uncompress(): %s\n", (char *)uncompr); +} + +/* =========================================================================== + * Test read/write of .gz files + */ +static void test_gzio(const char *fname, unsigned char *uncompr, z_size_t uncomprLen) { +#ifdef NO_GZCOMPRESS + fprintf(stderr, "NO_GZCOMPRESS -- gz* functions cannot compress\n"); +#else + z_int32_t err; + size_t read; + size_t len = strlen(hello)+1; + gzFile file; + z_off64_t pos; + z_off64_t comprLen; + + /* Write gz file with test data */ + file = PREFIX(gzopen)(fname, "wb"); + if (file == NULL) + error("gzopen error\n"); + /* Write hello, hello! using gzputs and gzprintf */ + PREFIX(gzputc)(file, 'h'); + if (PREFIX(gzputs)(file, "ello") != 4) + error("gzputs err: %s\n", PREFIX(gzerror)(file, &err)); + if (PREFIX(gzprintf)(file, ", %s!", "hello") != 8) + error("gzprintf err: %s\n", PREFIX(gzerror)(file, &err)); + /* Write string null-teriminator using gzseek */ + if (PREFIX(gzseek)(file, 1L, SEEK_CUR) < 0) + error("gzseek error, gztell=%ld\n", (long)PREFIX(gztell)(file)); + /* Write hello, hello! using gzfwrite using best compression level */ + if (PREFIX(gzsetparams)(file, Z_BEST_COMPRESSION, Z_DEFAULT_STRATEGY) != Z_OK) + error("gzsetparams err: %s\n", PREFIX(gzerror)(file, &err)); + if (PREFIX(gzfwrite)(hello, len, 1, file) == 0) + error("gzfwrite err: %s\n", PREFIX(gzerror)(file, &err)); + /* Flush compressed bytes to file */ + if (PREFIX(gzflush)(file, Z_SYNC_FLUSH) != Z_OK) + error("gzflush err: %s\n", PREFIX(gzerror)(file, &err)); + comprLen = PREFIX(gzoffset)(file); + if (comprLen <= 0) + error("gzoffset err: %s\n", PREFIX(gzerror)(file, &err)); + PREFIX(gzclose)(file); + + /* Open gz file we previously wrote */ + file = PREFIX(gzopen)(fname, "rb"); + if (file == NULL) + error("gzopen error\n"); + + /* Read uncompressed data - hello, hello! string twice */ + strcpy((char*)uncompr, "garbages"); + if (PREFIX(gzread)(file, uncompr, (unsigned)uncomprLen) != (int)(len + len)) + error("gzread err: %s\n", PREFIX(gzerror)(file, &err)); + if (strcmp((char*)uncompr, hello)) + error("bad gzread: %s\n", (char*)uncompr); + else + printf("gzread(): %s\n", (char*)uncompr); + /* Check position at the end of the gz file */ + if (PREFIX(gzeof)(file) != 1) + error("gzeof err: not reporting end of stream\n"); + + /* Seek backwards mid-string and check char reading with gzgetc and gzungetc */ + pos = PREFIX(gzseek)(file, -22L, SEEK_CUR); + if (pos != 6 || PREFIX(gztell)(file) != pos) + error("gzseek error, pos=%ld, gztell=%ld\n", (long)pos, (long)PREFIX(gztell)(file)); + if (PREFIX(gzgetc)(file) != ' ') + error("gzgetc error\n"); + if (PREFIX(gzungetc)(' ', file) != ' ') + error("gzungetc error\n"); + /* Read first hello, hello! string with gzgets */ + strcpy((char*)uncompr, "garbages"); + PREFIX(gzgets)(file, (char*)uncompr, (int)uncomprLen); + if (strlen((char*)uncompr) != 7) /* " hello!" */ + error("gzgets err after gzseek: %s\n", PREFIX(gzerror)(file, &err)); + if (strcmp((char*)uncompr, hello + 6)) + error("bad gzgets after gzseek\n"); + else + printf("gzgets() after gzseek: %s\n", (char*)uncompr); + /* Seek to second hello, hello! string */ + pos = PREFIX(gzseek)(file, 14L, SEEK_SET); + if (pos != 14 || PREFIX(gztell)(file) != pos) + error("gzseek error, pos=%ld, gztell=%ld\n", (long)pos, (long)PREFIX(gztell)(file)); + /* Check position not at end of file */ + if (PREFIX(gzeof)(file) != 0) + error("gzeof err: reporting end of stream\n"); + /* Read first hello, hello! string with gzfread */ + strcpy((char*)uncompr, "garbages"); + read = PREFIX(gzfread)(uncompr, uncomprLen, 1, file); + if (strcmp((const char *)uncompr, hello) != 0) + error("bad gzgets\n"); + else + printf("gzgets(): %s\n", (char*)uncompr); + pos = PREFIX(gzoffset)(file); + if (pos < 0 || pos != (comprLen + 10)) + error("gzoffset err: wrong offset at end\n"); + /* Trigger an error and clear it with gzclearerr */ + PREFIX(gzfread)(uncompr, (size_t)-1, (size_t)-1, file); + PREFIX(gzerror)(file, &err); + if (err == 0) + error("gzerror err: no error returned\n"); + PREFIX(gzclearerr)(file); + PREFIX(gzerror)(file, &err); + if (err != 0) + error("gzclearerr err: not zero %d\n", err); + + PREFIX(gzclose)(file); + + if (PREFIX(gzclose)(NULL) != Z_STREAM_ERROR) + error("gzclose unexpected return when handle null\n"); + Z_UNUSED(read); +#endif +} + +/* =========================================================================== + * Test deflate() with small buffers + */ +static void test_deflate(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + size_t len = strlen(hello)+1; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + c_stream.total_in = 0; + c_stream.total_out = 0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + } + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with small buffers + */ +static void test_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + strcpy((char*)uncompr, "garbage"); + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = 0; + d_stream.next_out = uncompr; + d_stream.total_in = 0; + d_stream.total_out = 0; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) { + d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "inflate"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (strcmp((char*)uncompr, hello)) + error("bad inflate\n"); + else + printf("inflate(): %s\n", (char *)uncompr); +} + +static unsigned int diff; + +/* =========================================================================== + * Test deflate() with large buffers and dynamic change of compression level + */ +static void test_large_deflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen, int zng_params) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; +#ifndef ZLIB_COMPAT + int level = -1; + int strategy = -1; + zng_deflate_param_value params[2]; + + params[0].param = Z_DEFLATE_LEVEL; + params[0].buf = &level; + params[0].size = sizeof(level); + + params[1].param = Z_DEFLATE_STRATEGY; + params[1].buf = &strategy; + params[1].size = sizeof(strategy); +#endif + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_SPEED); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_out = compr; + c_stream.avail_out = (unsigned int)comprLen; + + /* At this point, uncompr is still mostly zeroes, so it should compress + * very well: + */ + c_stream.next_in = uncompr; + c_stream.avail_in = (unsigned int)uncomprLen; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + if (c_stream.avail_in != 0) + error("deflate not greedy\n"); + + /* Feed in already compressed data and switch to no compression: */ + if (zng_params) { +#ifndef ZLIB_COMPAT + zng_deflateGetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); + if (level != Z_BEST_SPEED) + error("Expected compression level Z_BEST_SPEED, got %d\n", level); + if (strategy != Z_DEFAULT_STRATEGY) + error("Expected compression strategy Z_DEFAULT_STRATEGY, got %d\n", strategy); + level = Z_NO_COMPRESSION; + strategy = Z_DEFAULT_STRATEGY; + zng_deflateSetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); +#else + error("test_large_deflate() called with zng_params=1 in compat mode\n"); +#endif + } else { + PREFIX(deflateParams)(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); + } + c_stream.next_in = compr; + diff = (unsigned int)(c_stream.next_out - compr); + c_stream.avail_in = diff; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + + /* Switch back to compressing mode: */ + if (zng_params) { +#ifndef ZLIB_COMPAT + level = -1; + strategy = -1; + zng_deflateGetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); + if (level != Z_NO_COMPRESSION) + error("Expected compression level Z_NO_COMPRESSION, got %d\n", level); + if (strategy != Z_DEFAULT_STRATEGY) + error("Expected compression strategy Z_DEFAULT_STRATEGY, got %d\n", strategy); + level = Z_BEST_COMPRESSION; + strategy = Z_FILTERED; + zng_deflateSetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); +#else + error("test_large_deflate() called with zng_params=1 in compat mode\n"); +#endif + } else { + PREFIX(deflateParams)(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED); + } + c_stream.next_in = uncompr; + c_stream.avail_in = (unsigned int)uncomprLen; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) + error("deflate should report Z_STREAM_END\n"); + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with large buffers + */ +static void test_large_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + strcpy((char*)uncompr, "garbage"); + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)comprLen; + d_stream.total_in = 0; + d_stream.total_out = 0; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + for (;;) { + d_stream.next_out = uncompr; /* discard the output */ + d_stream.avail_out = (unsigned int)uncomprLen; + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "large inflate"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (d_stream.total_out != 2*uncomprLen + diff) + error("bad large inflate: %" PRIu64 "\n", (uint64_t)d_stream.total_out); + else + printf("large_inflate(): OK\n"); +} + +/* =========================================================================== + * Test deflate() with full flush + */ +static void test_flush(unsigned char *compr, z_uintmax_t *comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + unsigned int len = (unsigned int)strlen(hello)+1; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + c_stream.avail_in = 3; + c_stream.avail_out = (unsigned int)*comprLen; + err = PREFIX(deflate)(&c_stream, Z_FULL_FLUSH); + CHECK_ERR(err, "deflate"); + + compr[3]++; /* force an error in first compressed block */ + c_stream.avail_in = len - 3; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) { + CHECK_ERR(err, "deflate"); + } + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + *comprLen = (z_size_t)c_stream.total_out; +} + +#ifndef TEST_STOCK_ZLIB +/* =========================================================================== + * Test inflateSync() + * We expect a certain compressed block layout, so skip this with the original zlib. + */ +static void test_sync(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + strcpy((char*)uncompr, "garbage"); + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = 2; /* just read the zlib header */ + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + d_stream.next_out = uncompr; + d_stream.avail_out = (unsigned int)uncomprLen; + + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + CHECK_ERR(err, "inflate"); + + d_stream.avail_in = (unsigned int)comprLen-2; /* read all compressed data */ + err = PREFIX(inflateSync)(&d_stream); /* but skip the damaged part */ + CHECK_ERR(err, "inflateSync"); + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + if (err != Z_STREAM_END) + error("inflate should report Z_STREAM_END\n"); + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + printf("after inflateSync(): hel%s\n", (char *)uncompr); +} +#endif + +/* =========================================================================== + * Test deflate() with preset dictionary + */ +static void test_dict_deflate(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + c_stream.adler = 0; + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + err = PREFIX(deflateSetDictionary)(&c_stream, + (const unsigned char*)dictionary, (int)sizeof(dictionary)); + CHECK_ERR(err, "deflateSetDictionary"); + + dictId = c_stream.adler; + c_stream.next_out = compr; + c_stream.avail_out = (unsigned int)comprLen; + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (unsigned int)strlen(hello)+1; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) + error("deflate should report Z_STREAM_END\n"); + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with a preset dictionary + */ +static void test_dict_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + uint8_t check_dictionary[MAX_DICTIONARY_SIZE]; + uint32_t check_dictionary_len = 0; + PREFIX3(stream) d_stream; /* decompression stream */ + + strcpy((char*)uncompr, "garbage garbage garbage"); + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + d_stream.adler = 0; + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)comprLen; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + d_stream.next_out = uncompr; + d_stream.avail_out = (unsigned int)uncomprLen; + + for (;;) { + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) break; + if (err == Z_NEED_DICT) { + if (d_stream.adler != dictId) + error("unexpected dictionary"); + err = PREFIX(inflateSetDictionary)(&d_stream, (const unsigned char*)dictionary, + (int)sizeof(dictionary)); + } + CHECK_ERR(err, "inflate with dict"); + } + + err = PREFIX(inflateGetDictionary)(&d_stream, NULL, &check_dictionary_len); + CHECK_ERR(err, "inflateGetDictionary"); +#ifndef S390_DFLTCC_INFLATE + if (check_dictionary_len < sizeof(dictionary)) + error("bad dictionary length\n"); +#endif + + err = PREFIX(inflateGetDictionary)(&d_stream, check_dictionary, &check_dictionary_len); + CHECK_ERR(err, "inflateGetDictionary"); +#ifndef S390_DFLTCC_INFLATE + if (memcmp(dictionary, check_dictionary, sizeof(dictionary)) != 0) + error("bad dictionary\n"); +#endif + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (strncmp((char*)uncompr, hello, sizeof(hello))) + error("bad inflate with dict\n"); + else + printf("inflate with dictionary: %s\n", (char *)uncompr); +} + +/* =========================================================================== + * Test deflateBound() with small buffers + */ +static void test_deflate_bound(void) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + unsigned int len = (unsigned int)strlen(hello)+1; + int estimateLen = 0; + unsigned char *outBuf = NULL; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + c_stream.avail_in = len; + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_out = 0; + c_stream.next_out = outBuf; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + /* calculate actual output length and update structure */ + estimateLen = PREFIX(deflateBound)(&c_stream, len); + outBuf = malloc(estimateLen); + + if (outBuf != NULL) { + /* update zlib configuration */ + c_stream.avail_out = estimateLen; + c_stream.next_out = outBuf; + + /* do the compression */ + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) { + printf("deflateBound(): OK\n"); + } else { + CHECK_ERR(err, "deflate"); + } + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + free(outBuf); +} + +/* =========================================================================== + * Test deflateCopy() with small buffers + */ +static void test_deflate_copy(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream, c_stream_copy; /* compression stream */ + int err; + size_t len = strlen(hello)+1; + + memset(&c_stream, 0, sizeof(c_stream)); + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflateCopy)(&c_stream_copy, &c_stream); + CHECK_ERR(err, "deflate_copy"); + + if (c_stream.state->status == c_stream_copy.state->status) { + printf("deflate_copy(): OK\n"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd original"); + + err = PREFIX(deflateEnd)(&c_stream_copy); + CHECK_ERR(err, "deflateEnd copy"); +} + +/* =========================================================================== + * Test deflateGetDictionary() with small buffers + */ +static void test_deflate_get_dict(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + unsigned char *dictNew = NULL; + z_uint32_t *dictLen; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_out = compr; + c_stream.avail_out = (uInt)comprLen; + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (unsigned int)strlen(hello)+1; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + + if (err != Z_STREAM_END) + error("deflate should report Z_STREAM_END\n"); + + dictNew = calloc(256, 1); + dictLen = (z_uint32_t *)calloc(4, 1); + err = PREFIX(deflateGetDictionary)(&c_stream, dictNew, dictLen); + + CHECK_ERR(err, "deflateGetDictionary"); + if (err == Z_OK) { + printf("deflateGetDictionary(): %s\n", dictNew); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + free(dictNew); + free(dictLen); +} + +/* =========================================================================== + * Test deflatePending() with small buffers + */ +static void test_deflate_pending(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + z_int32_t *bits = calloc(256, 1); + z_uint32_t *ped = calloc(256, 1); + size_t len = strlen(hello)+1; + + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflatePending)(&c_stream, ped, bits); + CHECK_ERR(err, "deflatePending"); + + if (*bits >= 0 && *bits <= 7) { + printf("deflatePending(): OK\n"); + } else { + printf("deflatePending(): error\n"); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + free(bits); + free(ped); +} + +/* =========================================================================== + * Test deflatePrime() wrapping gzip around deflate stream + */ +static void test_deflate_prime(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + PREFIX3(stream) d_stream; /* decompression stream */ + int err; + size_t len = strlen(hello)+1; + uint32_t crc = 0; + + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + /* Raw deflate windowBits is -15 */ + err = PREFIX(deflateInit2)(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY); + CHECK_ERR(err, "deflateInit2"); + + /* Gzip magic number */ + err = PREFIX(deflatePrime)(&c_stream, 16, 0x8b1f); + CHECK_ERR(err, "deflatePrime"); + /* Gzip compression method (deflate) */ + err = PREFIX(deflatePrime)(&c_stream, 8, 0x08); + CHECK_ERR(err, "deflatePrime"); + /* Gzip flags (one byte, using two odd bit calls) */ + err = PREFIX(deflatePrime)(&c_stream, 3, 0x0); + CHECK_ERR(err, "deflatePrime"); + err = PREFIX(deflatePrime)(&c_stream, 5, 0x0); + CHECK_ERR(err, "deflatePrime"); + /* Gzip modified time */ + err = deflate_prime_32(&c_stream, 0); + CHECK_ERR(err, "deflatePrime"); + /* Gzip extra flags */ + err = PREFIX(deflatePrime)(&c_stream, 8, 0x0); + CHECK_ERR(err, "deflatePrime"); + /* Gzip operating system */ + err = PREFIX(deflatePrime)(&c_stream, 8, 255); + CHECK_ERR(err, "deflatePrime"); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (uint32_t)len; + c_stream.next_out = compr; + c_stream.avail_out = (uint32_t)comprLen; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) + CHECK_ERR(err, "deflate"); + + /* Gzip uncompressed data crc32 */ + crc = PREFIX(crc32)(0, (const uint8_t *)hello, (uint32_t)len); + err = deflate_prime_32(&c_stream, crc); + CHECK_ERR(err, "deflatePrime"); + /* Gzip uncompressed data length */ + err = deflate_prime_32(&c_stream, (uint32_t)len); + CHECK_ERR(err, "deflatePrime"); + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = (uint32_t)c_stream.total_out; + d_stream.next_out = uncompr; + d_stream.avail_out = (uint32_t)uncomprLen; + d_stream.total_in = 0; + d_stream.total_out = 0; + + /* Inflate with gzip header */ + err = PREFIX(inflateInit2)(&d_stream, MAX_WBITS + 32); + CHECK_ERR(err, "inflateInit"); + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + if (err != Z_BUF_ERROR) { + CHECK_ERR(err, "inflate"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (strcmp((const char *)uncompr, hello) != 0) + error("bad deflatePrime\n"); + if (err == Z_OK) + printf("deflatePrime(): OK\n"); +} + +/* =========================================================================== + * Test deflateSetHeader() with small buffers + */ +static void test_deflate_set_header(unsigned char *compr, size_t comprLen) { + PREFIX(gz_header) *head = calloc(1, sizeof(PREFIX(gz_header))); + PREFIX3(stream) c_stream; /* compression stream */ + int err; + size_t len = strlen(hello)+1; + + + if (head == NULL) + error("out of memory\n"); + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + /* gzip */ + err = PREFIX(deflateInit2)(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, MAX_WBITS + 16, 8, Z_DEFAULT_STRATEGY); + CHECK_ERR(err, "deflateInit2"); + + head->text = 1; + head->comment = (uint8_t *)"comment"; + head->name = (uint8_t *)"name"; + head->hcrc = 1; + head->extra = (uint8_t *)"extra"; + head->extra_len = (uint32_t)strlen((const char *)head->extra); + + err = PREFIX(deflateSetHeader)(&c_stream, head); + CHECK_ERR(err, "deflateSetHeader"); + if (err == Z_OK) { + printf("deflateSetHeader(): OK\n"); + } + PREFIX(deflateBound)(&c_stream, (unsigned long)comprLen); + + c_stream.next_in = (unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + free(head); +} + +/* =========================================================================== + * Test deflateTune() with small buffers + */ +static void test_deflate_tune(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + int good_length = 3; + int max_lazy = 5; + int nice_length = 18; + int max_chain = 6; + size_t len = strlen(hello)+1; + + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (voidpf)0; + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + err = PREFIX(deflateTune)(&c_stream,(uInt)good_length,(uInt)max_lazy,nice_length,(uInt)max_chain); + CHECK_ERR(err, "deflateTune"); + if (err == Z_OK) { + printf("deflateTune(): OK\n"); + } + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate"); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Usage: example [output.gz [input.gz]] + */ +int main(int argc, char *argv[]) { + unsigned char *compr, *uncompr; + z_uintmax_t comprLen = 10000*sizeof(int); /* don't overflow on MSDOS */ + z_uintmax_t uncomprLen = comprLen; + static const char* myVersion = PREFIX2(VERSION); + + if (zVersion()[0] != myVersion[0]) { + fprintf(stderr, "incompatible zlib version\n"); + exit(1); + + } else if (strcmp(zVersion(), PREFIX2(VERSION)) != 0) { + fprintf(stderr, "warning: different zlib version linked: %s\n", zVersion()); + } + + printf("zlib-ng version %s = 0x%08lx, compile flags = 0x%lx\n", + ZLIBNG_VERSION, ZLIBNG_VERNUM, PREFIX(zlibCompileFlags)()); + + compr = (unsigned char*)calloc((unsigned int)comprLen, 1); + uncompr = (unsigned char*)calloc((unsigned int)uncomprLen, 1); + /* compr and uncompr are cleared to avoid reading uninitialized + * data and to ensure that uncompr compresses well. + */ + if (compr == NULL || uncompr == NULL) + error("out of memory\n"); + + test_compress(compr, comprLen, uncompr, uncomprLen); + + test_gzio((argc > 1 ? argv[1] : TESTFILE), + uncompr, uncomprLen); + + test_deflate(compr, comprLen); + test_inflate(compr, comprLen, uncompr, uncomprLen); + + test_large_deflate(compr, comprLen, uncompr, uncomprLen, 0); + test_large_inflate(compr, comprLen, uncompr, uncomprLen); + +#ifndef ZLIB_COMPAT + test_large_deflate(compr, comprLen, uncompr, uncomprLen, 1); + test_large_inflate(compr, comprLen, uncompr, uncomprLen); +#endif + + test_flush(compr, &comprLen); +#ifndef TEST_STOCK_ZLIB + test_sync(compr, comprLen, uncompr, uncomprLen); +#endif + comprLen = uncomprLen; + + test_dict_deflate(compr, comprLen); + test_dict_inflate(compr, comprLen, uncompr, uncomprLen); + + test_deflate_bound(); + test_deflate_copy(compr, comprLen); + test_deflate_get_dict(compr, comprLen); + test_deflate_set_header(compr, comprLen); + test_deflate_tune(compr, comprLen); + test_deflate_pending(compr, comprLen); + test_deflate_prime(compr, comprLen, uncompr, uncomprLen); + + free(compr); + free(uncompr); + + return 0; +} diff --git a/neozip/test/fuzz/CMakeLists.txt b/neozip/test/fuzz/CMakeLists.txt new file mode 100644 index 0000000000..a02f57d21b --- /dev/null +++ b/neozip/test/fuzz/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.14...4.2.1) + +if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(DEFINED ENV{LIB_FUZZING_ENGINE}) + set(FUZZING_ENGINE $ENV{LIB_FUZZING_ENGINE}) + set(FUZZING_ENGINE_FOUND ON) + else() + find_library(FUZZING_ENGINE "FuzzingEngine") + endif() +endif() + +set(FUZZERS + fuzzer_checksum + fuzzer_compress + fuzzer_example_small + fuzzer_example_large + fuzzer_example_flush + fuzzer_example_dict + ) + +if(WITH_GZFILEOP) + list(APPEND FUZZERS fuzzer_minigzip) +endif() + +foreach(FUZZER ${FUZZERS}) + add_executable(${FUZZER} ${FUZZER}.c) + + if(NOT FUZZING_ENGINE_FOUND) + target_sources(${FUZZER} PRIVATE standalone_fuzz_target_runner.c) + endif() + + if(NOT DEFINED BUILD_SHARED_LIBS) + target_link_libraries(${FUZZER} zlib-ng-static) + else() + target_link_libraries(${FUZZER} zlib-ng) + endif() + + if(FUZZING_ENGINE_FOUND) + target_link_libraries(${FUZZER} ${FUZZING_ENGINE}) + endif() + + file(GLOB FUZZER_TEST_FILES ${PROJECT_SOURCE_DIR}/*) + set(FUZZER_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:${FUZZER}> ${FUZZER_TEST_FILES}) + add_test(NAME ${FUZZER} COMMAND ${FUZZER_COMMAND}) +endforeach() diff --git a/neozip/test/fuzz/fuzzer_checksum.c b/neozip/test/fuzz/fuzzer_checksum.c new file mode 100644 index 0000000000..cedd284dbe --- /dev/null +++ b/neozip/test/fuzz/fuzzer_checksum.c @@ -0,0 +1,81 @@ +#include <stdio.h> +#include <assert.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataLen) { + uint32_t crc0 = PREFIX(crc32)(0L, NULL, 0); + uint32_t crc1 = crc0; + uint32_t crc2 = crc0; + uint32_t adler0 = PREFIX(adler32)(0L, NULL, 0); + uint32_t adler1 = adler0; + uint32_t adler2 = adler0; + uint32_t combine1, combine2; + /* Checksum with a buffer of size equal to the first byte in the input. */ + uint32_t buffSize = data[0]; + uint32_t offset = 0; + uint32_t op; + + /* Discard inputs larger than 1Mb. */ + static size_t kMaxSize = 1024 * 1024; + if (dataLen < 1 || dataLen > kMaxSize) + return 0; + + /* Make sure the buffer has at least a byte. */ + if (buffSize == 0) + ++buffSize; + + /* CRC32 */ + op = PREFIX(crc32_combine_gen)(buffSize); + for (offset = 0; offset + buffSize <= dataLen; offset += buffSize) { + uint32_t crc3 = PREFIX(crc32_z)(crc0, data + offset, buffSize); + uint32_t crc4 = PREFIX(crc32_combine_op)(crc1, crc3, op); + crc1 = PREFIX(crc32_z)(crc1, data + offset, buffSize); + assert(crc1 == crc4); + Z_UNUSED(crc1); + Z_UNUSED(crc4); + } + crc1 = PREFIX(crc32_z)(crc1, data + offset, dataLen % buffSize); + + crc2 = PREFIX(crc32_z)(crc2, data, dataLen); + + assert(crc1 == crc2); + Z_UNUSED(crc1); + Z_UNUSED(crc2); + combine1 = PREFIX(crc32_combine)(crc1, crc2, (z_off_t)dataLen); + combine2 = PREFIX(crc32_combine)(crc1, crc1, (z_off_t)dataLen); + assert(combine1 == combine2); + + /* Fast CRC32 combine. */ + op = PREFIX(crc32_combine_gen)((z_off_t)dataLen); + combine1 = PREFIX(crc32_combine_op)(crc1, crc2, op); + combine2 = PREFIX(crc32_combine_op)(crc2, crc1, op); + assert(combine1 == combine2); + combine1 = PREFIX(crc32_combine)(crc1, crc2, (z_off_t)dataLen); + combine2 = PREFIX(crc32_combine_op)(crc2, crc1, op); + assert(combine1 == combine2); + + /* Adler32 */ + for (offset = 0; offset + buffSize <= dataLen; offset += buffSize) + adler1 = PREFIX(adler32_z)(adler1, data + offset, buffSize); + adler1 = PREFIX(adler32_z)(adler1, data + offset, dataLen % buffSize); + + adler2 = PREFIX(adler32_z)(adler2, data, dataLen); + + assert(adler1 == adler2); + Z_UNUSED(adler1); + Z_UNUSED(adler2); + combine1 = PREFIX(adler32_combine)(adler1, adler2, (z_off_t)dataLen); + combine2 = PREFIX(adler32_combine)(adler1, adler1, (z_off_t)dataLen); + assert(combine1 == combine2); + Z_UNUSED(combine1); + Z_UNUSED(combine2); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_compress.c b/neozip/test/fuzz/fuzzer_compress.c new file mode 100644 index 0000000000..2eca038234 --- /dev/null +++ b/neozip/test/fuzz/fuzzer_compress.c @@ -0,0 +1,82 @@ +#include <stdio.h> +#include <assert.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +static const uint8_t *data; +static size_t dataLen; + +static void check_compress_level(uint8_t *compr, z_uintmax_t comprLen, + uint8_t *uncompr, z_uintmax_t uncomprLen, + int level) { + PREFIX(compress2)(compr, &comprLen, data, dataLen, level); + PREFIX(uncompress)(uncompr, &uncomprLen, compr, comprLen); + + /* Make sure compress + uncompress gives back the input data. */ + assert(dataLen == uncomprLen); + assert(0 == memcmp(data, uncompr, dataLen)); +} + +#define put_byte(s, i, c) {s[i] = (unsigned char)(c);} + +static void write_zlib_header(uint8_t *s) { + unsigned level_flags = 0; /* compression level (0..3) */ + unsigned w_bits = 8; /* window size log2(w_size) (8..16) */ + unsigned int header = (Z_DEFLATED + ((w_bits-8)<<4)) << 8; + header |= (level_flags << 6); + + header += 31 - (header % 31); + + /* s is guaranteed to be longer than 2 bytes. */ + put_byte(s, 0, (header >> 8)); + put_byte(s, 1, (header & 0xff)); +} + +static void check_decompress(uint8_t *compr, z_uintmax_t comprLen) { + /* We need to write a valid zlib header of size two bytes. Copy the input data + in a larger buffer. Do not modify the input data to avoid libFuzzer error: + fuzz target overwrites its const input. */ + size_t copyLen = dataLen + 2; + uint8_t *copy = (uint8_t *)malloc(copyLen); + memcpy(copy + 2, data, dataLen); + write_zlib_header(copy); + + PREFIX(uncompress)(compr, &comprLen, copy, (z_uintmax_t)copyLen); + free(copy); +} + +int LLVMFuzzerTestOneInput(const uint8_t *d, size_t size) { + /* compressBound does not provide enough space for low compression levels. */ + z_size_t comprLen = 100 + 2 * PREFIX(compressBound)(size); + z_size_t uncomprLen = (z_size_t)size; + uint8_t *compr, *uncompr; + + /* Discard inputs larger than 1Mb. */ + static size_t kMaxSize = 1024 * 1024; + + if (size < 1 || size > kMaxSize) + return 0; + + data = d; + dataLen = size; + compr = (uint8_t *)calloc(1, comprLen); + uncompr = (uint8_t *)calloc(1, uncomprLen); + + check_compress_level(compr, comprLen, uncompr, uncomprLen, 1); + check_compress_level(compr, comprLen, uncompr, uncomprLen, 3); + check_compress_level(compr, comprLen, uncompr, uncomprLen, 6); + check_compress_level(compr, comprLen, uncompr, uncomprLen, 7); + + check_decompress(compr, comprLen); + + free(compr); + free(uncompr); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_example_dict.c b/neozip/test/fuzz/fuzzer_example_dict.c new file mode 100644 index 0000000000..053a3e101a --- /dev/null +++ b/neozip/test/fuzz/fuzzer_example_dict.c @@ -0,0 +1,164 @@ +#include <stdio.h> +#include <assert.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +static const uint8_t *data; +static size_t dataLen; +static alloc_func zalloc = NULL; +static free_func zfree = NULL; +static unsigned int dictionaryLen = 0; +static unsigned long dictId; /* Adler32 value of the dictionary */ + +/* =========================================================================== + * Test deflate() with preset dictionary + */ +void test_dict_deflate(unsigned char **compr, size_t *comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + int level = data[0] % 11 - 1; /* [-1..9] + compression levels + #define Z_NO_COMPRESSION 0 + #define Z_BEST_SPEED 1 + #define Z_BEST_COMPRESSION 9 + #define Z_DEFAULT_COMPRESSION (-1) */ + + int method = Z_DEFLATED; /* The deflate compression method (the only one + supported in this version) */ + int windowBits = 8 + data[(dataLen > 1) ? 1:0] % 8; /* The windowBits parameter is the base + two logarithm of the window size (the size of the history buffer). It + should be in the range 8..15 for this version of the library. */ + int memLevel = 1 + data[(dataLen > 2) ? 2:0] % 9; /* memLevel=1 uses minimum memory but is + slow and reduces compression ratio; memLevel=9 uses maximum memory for + optimal speed. */ + int strategy = data[(dataLen > 3) ? 3:0] % 5; /* [0..4] + #define Z_FILTERED 1 + #define Z_HUFFMAN_ONLY 2 + #define Z_RLE 3 + #define Z_FIXED 4 + #define Z_DEFAULT_STRATEGY 0 */ + + /* deflate would fail for no-compression or for speed levels. */ + if (level == 0 || level == 1) + level = -1; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit2)(&c_stream, level, method, windowBits, memLevel, + strategy); + CHECK_ERR(err, "deflateInit"); + + err = PREFIX(deflateSetDictionary)( + &c_stream, (const unsigned char *)data, dictionaryLen); + CHECK_ERR(err, "deflateSetDictionary"); + + /* deflateBound does not provide enough space for low compression levels. */ + *comprLen = 100 + 2 * PREFIX(deflateBound)(&c_stream, (unsigned long)dataLen); + *compr = (uint8_t *)calloc(1, *comprLen); + + dictId = c_stream.adler; + c_stream.next_out = *compr; + c_stream.avail_out = (unsigned int)(*comprLen); + + c_stream.next_in = (z_const unsigned char *)data; + c_stream.avail_in = (uint32_t)dataLen; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) { + fprintf(stderr, "deflate dict should report Z_STREAM_END\n"); + exit(1); + } + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with a preset dictionary + */ +void test_dict_inflate(unsigned char *compr, size_t comprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + unsigned char *uncompr; + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)comprLen; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + uncompr = (uint8_t *)calloc(1, dataLen); + d_stream.next_out = uncompr; + d_stream.avail_out = (unsigned int)dataLen; + + for (;;) { + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + if (err == Z_NEED_DICT) { + if (d_stream.adler != dictId) { + fprintf(stderr, "unexpected dictionary"); + exit(1); + } + err = PREFIX(inflateSetDictionary)( + &d_stream, (const unsigned char *)data, dictionaryLen); + } + CHECK_ERR(err, "inflate with dict"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (memcmp(uncompr, data, dataLen)) { + fprintf(stderr, "bad inflate with dict\n"); + exit(1); + } + + free(uncompr); +} + +int LLVMFuzzerTestOneInput(const uint8_t *d, size_t size) { + size_t comprLen = 0; + uint8_t *compr; + + /* Discard inputs larger than 100Kb. */ + static size_t kMaxSize = 100 * 1024; + + if (size < 1 || size > kMaxSize) + return 0; + + data = d; + dataLen = size; + + /* Set up the contents of the dictionary. The size of the dictionary is + intentionally selected to be of unusual size. To help cover more corner + cases, the size of the dictionary is read from the input data. */ + dictionaryLen = data[0]; + if (dictionaryLen > dataLen) + dictionaryLen = (unsigned int)dataLen; + + test_dict_deflate(&compr, &comprLen); + test_dict_inflate(compr, comprLen); + + free(compr); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_example_flush.c b/neozip/test/fuzz/fuzzer_example_flush.c new file mode 100644 index 0000000000..baa6988e36 --- /dev/null +++ b/neozip/test/fuzz/fuzzer_example_flush.c @@ -0,0 +1,119 @@ +#include <stdio.h> +#include <assert.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +static const uint8_t *data; +static size_t dataLen; +static alloc_func zalloc = NULL; +static free_func zfree = NULL; + +/* =========================================================================== + * Test deflate() with full flush + */ +void test_flush(unsigned char *compr, z_size_t *comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + unsigned int len = (unsigned int)dataLen; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)data; + c_stream.next_out = compr; + c_stream.avail_in = 3; + c_stream.avail_out = (unsigned int)*comprLen; + err = PREFIX(deflate)(&c_stream, Z_FULL_FLUSH); + CHECK_ERR(err, "deflate flush 1"); + + compr[3]++; /* force an error in first compressed block */ + c_stream.avail_in = len - 3; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) { + CHECK_ERR(err, "deflate flush 2"); + } + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + *comprLen = (z_size_t)c_stream.total_out; +} + +/* =========================================================================== + * Test inflateSync() + */ +void test_sync(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = 2; /* just read the zlib header */ + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + d_stream.next_out = uncompr; + d_stream.avail_out = (unsigned int)uncomprLen; + + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + CHECK_ERR(err, "inflate"); + + d_stream.avail_in = (unsigned int)comprLen - 2; /* read all compressed data */ + err = PREFIX(inflateSync)(&d_stream); /* but skip the damaged part */ + CHECK_ERR(err, "inflateSync"); + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + if (err != Z_STREAM_END) { + fprintf(stderr, "inflate should report Z_STREAM_END\n"); + exit(1); + } + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); +} + +int LLVMFuzzerTestOneInput(const uint8_t *d, size_t size) { + z_size_t comprLen = 100 + 2 * PREFIX(compressBound)(size); + z_size_t uncomprLen = (z_size_t)size; + uint8_t *compr, *uncompr; + + /* Discard inputs larger than 1Mb. */ + static size_t kMaxSize = 1024 * 1024; + + // This test requires at least 3 bytes of input data. + if (size <= 3 || size > kMaxSize) + return 0; + + data = d; + dataLen = size; + compr = (uint8_t *)calloc(1, comprLen); + uncompr = (uint8_t *)calloc(1, uncomprLen); + + test_flush(compr, &comprLen); + test_sync(compr, comprLen, uncompr, uncomprLen); + + free(compr); + free(uncompr); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_example_large.c b/neozip/test/fuzz/fuzzer_example_large.c new file mode 100644 index 0000000000..4114597218 --- /dev/null +++ b/neozip/test/fuzz/fuzzer_example_large.c @@ -0,0 +1,137 @@ +#include <stdio.h> +#include <assert.h> +#include <inttypes.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +static const uint8_t *data; +static size_t dataLen; +static alloc_func zalloc = NULL; +static free_func zfree = NULL; +static unsigned int diff; + +/* =========================================================================== + * Test deflate() with large buffers and dynamic change of compression level + */ +void test_large_deflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_out = compr; + c_stream.avail_out = (unsigned int)comprLen; + + /* At this point, uncompr is still mostly zeroes, so it should compress + * very well: + */ + c_stream.next_in = uncompr; + c_stream.avail_in = (unsigned int)uncomprLen; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate large 1"); + if (c_stream.avail_in != 0) { + fprintf(stderr, "deflate not greedy\n"); + exit(1); + } + + /* Feed in already compressed data and switch to no compression: */ + PREFIX(deflateParams)(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); + c_stream.next_in = compr; + diff = (unsigned int)(c_stream.next_out - compr); + c_stream.avail_in = diff; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate large 2"); + + /* Switch back to compressing mode: */ + PREFIX(deflateParams)(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED); + c_stream.next_in = uncompr; + c_stream.avail_in = (unsigned int)uncomprLen; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate large 3"); + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err != Z_STREAM_END) { + fprintf(stderr, "deflate large should report Z_STREAM_END\n"); + exit(1); + } + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with large buffers + */ +void test_large_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)comprLen; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + for (;;) { + d_stream.next_out = uncompr; /* discard the output */ + d_stream.avail_out = (unsigned int)uncomprLen; + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + CHECK_ERR(err, "large inflate"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (d_stream.total_out != 2 * uncomprLen + diff) { + fprintf(stderr, "bad large inflate: %" PRIu64 "\n", (uint64_t)d_stream.total_out); + exit(1); + } +} + +int LLVMFuzzerTestOneInput(const uint8_t *d, size_t size) { + size_t comprLen = 100 + 3 * size; + size_t uncomprLen = comprLen; + uint8_t *compr, *uncompr; + + /* Discard inputs larger than 512Kb. */ + static size_t kMaxSize = 512 * 1024; + + if (size < 1 || size > kMaxSize) + return 0; + + data = d; + dataLen = size; + compr = (uint8_t *)calloc(1, comprLen); + uncompr = (uint8_t *)calloc(1, uncomprLen); + + test_large_deflate(compr, comprLen, uncompr, uncomprLen); + test_large_inflate(compr, comprLen, uncompr, uncomprLen); + + free(compr); + free(uncompr); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_example_small.c b/neozip/test/fuzz/fuzzer_example_small.c new file mode 100644 index 0000000000..e59c720835 --- /dev/null +++ b/neozip/test/fuzz/fuzzer_example_small.c @@ -0,0 +1,118 @@ +#include <stdio.h> +#include <assert.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +static const uint8_t *data; +static size_t dataLen; +static alloc_func zalloc = NULL; +static free_func zfree = NULL; + +/* =========================================================================== + * Test deflate() with small buffers + */ +void test_deflate(unsigned char *compr, size_t comprLen) { + PREFIX3(stream) c_stream; /* compression stream */ + int err; + unsigned long len = (unsigned long)dataLen; + + c_stream.zalloc = zalloc; + c_stream.zfree = zfree; + c_stream.opaque = (void *)0; + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + CHECK_ERR(err, "deflateInit"); + + c_stream.next_in = (z_const unsigned char *)data; + c_stream.next_out = compr; + + while (c_stream.total_in != len && c_stream.total_out < comprLen) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + CHECK_ERR(err, "deflate small 1"); + } + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) + break; + CHECK_ERR(err, "deflate small 2"); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); +} + +/* =========================================================================== + * Test inflate() with small buffers + */ +void test_inflate(unsigned char *compr, size_t comprLen, unsigned char *uncompr, size_t uncomprLen) { + int err; + PREFIX3(stream) d_stream; /* decompression stream */ + + d_stream.zalloc = zalloc; + d_stream.zfree = zfree; + d_stream.opaque = (void *)0; + + d_stream.next_in = compr; + d_stream.avail_in = 0; + d_stream.next_out = uncompr; + + err = PREFIX(inflateInit)(&d_stream); + CHECK_ERR(err, "inflateInit"); + + while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) { + d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + CHECK_ERR(err, "inflate"); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + if (memcmp(uncompr, data, dataLen)) { + fprintf(stderr, "bad inflate\n"); + exit(1); + } +} + +int LLVMFuzzerTestOneInput(const uint8_t *d, size_t size) { + size_t comprLen = PREFIX(compressBound)(size); + size_t uncomprLen = size; + uint8_t *compr, *uncompr; + + /* Discard inputs larger than 1Mb. */ + static size_t kMaxSize = 1024 * 1024; + + if (size < 1 || size > kMaxSize) + return 0; + + data = d; + dataLen = size; + compr = (uint8_t *)calloc(1, comprLen); + uncompr = (uint8_t *)calloc(1, uncomprLen); + + test_deflate(compr, comprLen); + test_inflate(compr, comprLen, uncompr, uncomprLen); + + free(compr); + free(uncompr); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/fuzzer_minigzip.c b/neozip/test/fuzz/fuzzer_minigzip.c new file mode 100644 index 0000000000..3f58f4a299 --- /dev/null +++ b/neozip/test/fuzz/fuzzer_minigzip.c @@ -0,0 +1,317 @@ +/* minigzip.c -- simulate gzip using the zlib compression library + * Copyright (C) 1995-2006, 2010, 2011, 2016 Jean-loup Gailly + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* + * minigzip is a minimal implementation of the gzip utility. This is + * only an example of using zlib and isn't meant to replace the + * full-featured gzip. No attempt is made to deal with file systems + * limiting names to 14 or 8+3 characters, etc... Error checking is + * very limited. So use minigzip only for testing; use gzip for the + * real thing. + */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif +#include <stdio.h> +#include <assert.h> + +#ifdef USE_MMAP +# include <sys/types.h> +# include <sys/mman.h> +# include <sys/stat.h> +#endif + +#if defined(_WIN32) || defined(__CYGWIN__) +# include <fcntl.h> +# include <io.h> +# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) +#else +# define SET_BINARY_MODE(file) +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1900 +# define snprintf _snprintf +#endif + +#if !defined(Z_HAVE_UNISTD_H) && !defined(_LARGEFILE64_SOURCE) +#ifndef _WIN32 /* unlink already in stdio.h for Win32 */ +extern int unlink (const char *); +#endif +#endif + +#ifndef GZ_SUFFIX +# define GZ_SUFFIX ".gz" +#endif +#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) + +#define BUFLEN 16384 /* read buffer size */ +#define BUFLENW (BUFLEN * 3) /* write buffer size */ +#define MAX_NAME_LEN 1024 + +static const char *prog = "minigzip_fuzzer"; + +/* =========================================================================== + * Display error message and exit + */ +static void error(const char *msg) { + fprintf(stderr, "%s: %s\n", prog, msg); + exit(1); +} + +#ifdef USE_MMAP /* MMAP version, Miguel Albrecht <malbrech@eso.org> */ +/* =========================================================================== + * Try compressing the input file at once using mmap. Return Z_OK if + * success, Z_ERRNO otherwise. + */ +static int gz_compress_mmap(FILE *in, gzFile out) { + int err; + int ifd = fileno(in); + void *buf; /* mmap'ed buffer for the entire input file */ + size_t buf_len; /* length of the input file */ + size_t len; + struct stat sb; + + /* Determine the size of the file, needed for mmap: */ + if (fstat(ifd, &sb) < 0) return Z_ERRNO; + /* Check size_t overflow */ + if (sb.st_size <= 0 || sb.st_size > PTRDIFF_MAX) return Z_ERRNO; + buf_len = (size_t)sb.st_size; + + /* Now do the actual mmap: */ + buf = mmap(NULL, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0); + if (buf == MAP_FAILED) return Z_ERRNO; + + /* Compress the whole file at once: */ + len = PREFIX(gzfwrite)(buf, 1, buf_len, out); + + if (len != buf_len) error(PREFIX(gzerror)(out, &err)); + + munmap(buf, buf_len); + fclose(in); + if (PREFIX(gzclose)(out) != Z_OK) error("failed gzclose"); + return Z_OK; +} +#endif /* USE_MMAP */ + +/* =========================================================================== + * Compress input to output then close both files. + */ + +static void gz_compress(FILE *in, gzFile out) { + char buf[BUFLEN]; + int len; + int err; + +#ifdef USE_MMAP + /* Try first compressing with mmap. If mmap fails (minigzip used in a + * pipe), use the normal fread loop. + */ + if (gz_compress_mmap(in, out) == Z_OK) return; +#endif + /* Clear out the contents of buf before reading from the file to avoid + MemorySanitizer: use-of-uninitialized-value warnings. */ + memset(buf, 0, sizeof(buf)); + for (;;) { + len = (int)fread(buf, 1, sizeof(buf), in); + if (ferror(in)) { + perror("fread"); + exit(1); + } + if (len == 0) break; + + if (PREFIX(gzwrite)(out, buf, (unsigned)len) != len) error(PREFIX(gzerror)(out, &err)); + } + fclose(in); + if (PREFIX(gzclose)(out) != Z_OK) error("failed gzclose"); +} + +/* =========================================================================== + * Uncompress input to output then close both files. + */ +static void gz_uncompress(gzFile in, FILE *out) { + char buf[BUFLENW]; + int len; + int err; + + for (;;) { + len = PREFIX(gzread)(in, buf, sizeof(buf)); + if (len < 0) error (PREFIX(gzerror)(in, &err)); + if (len == 0) break; + + if ((int)fwrite(buf, 1, (unsigned)len, out) != len) { + error("failed fwrite"); + } + } + if (fclose(out)) error("failed fclose"); + + if (PREFIX(gzclose)(in) != Z_OK) error("failed gzclose"); +} + + +/* =========================================================================== + * Compress the given file: create a corresponding .gz file and remove the + * original. + */ +static void file_compress(char *file, char *mode) { + char outfile[MAX_NAME_LEN]; + FILE *in; + gzFile out; + + if (strlen(file) + strlen(GZ_SUFFIX) >= sizeof(outfile)) { + fprintf(stderr, "%s: filename too long\n", prog); + exit(1); + } + + snprintf(outfile, sizeof(outfile), "%s%s", file, GZ_SUFFIX); + + in = fopen(file, "rb"); + if (in == NULL) { + perror(file); + exit(1); + } + out = PREFIX(gzopen)(outfile, mode); + if (out == NULL) { + fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile); + exit(1); + } + gz_compress(in, out); + + unlink(file); +} + +/* =========================================================================== + * Uncompress the given file and remove the original. + */ +static void file_uncompress(char *file) { + char buf[MAX_NAME_LEN]; + char *infile, *outfile; + FILE *out; + gzFile in; + size_t len = strlen(file); + + if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) { + fprintf(stderr, "%s: filename too long\n", prog); + exit(1); + } + + snprintf(buf, sizeof(buf), "%s", file); + + if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { + infile = file; + outfile = buf; + outfile[len-3] = '\0'; + } else { + outfile = file; + infile = buf; + snprintf(buf + len, sizeof(buf) - len, "%s", GZ_SUFFIX); + } + in = PREFIX(gzopen)(infile, "rb"); + if (in == NULL) { + fprintf(stderr, "%s: can't gzopen %s\n", prog, infile); + exit(1); + } + out = fopen(outfile, "wb"); + if (out == NULL) { + perror(file); + exit(1); + } + + gz_uncompress(in, out); + + unlink(infile); +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataLen) { + char *inFileName = "minigzip_fuzzer.out"; + char *outFileName = "minigzip_fuzzer.out.gz"; + char outmode[20]; + FILE *in; + char buf[BUFLEN]; + uint32_t offset = 0; + + /* Discard inputs larger than 1Mb. */ + static size_t kMaxSize = 1024 * 1024; + if (dataLen < 1 || dataLen > kMaxSize) + return 0; + + in = fopen(inFileName, "wb"); + if (fwrite(data, 1, (unsigned)dataLen, in) != dataLen) + error("failed fwrite"); + if (fclose(in)) + error("failed fclose"); + + memset(outmode, 0, sizeof(outmode)); + snprintf(outmode, sizeof(outmode), "%s", "wb"); + + /* Compression level: [0..9]. */ + outmode[2] = '0' + (data[0] % 10); + + switch (data[dataLen-1] % 6) { + default: + case 0: + outmode[3] = 0; + break; + case 1: + /* compress with Z_FILTERED */ + outmode[3] = 'f'; + break; + case 2: + /* compress with Z_HUFFMAN_ONLY */ + outmode[3] = 'h'; + break; + case 3: + /* compress with Z_RLE */ + outmode[3] = 'R'; + break; + case 4: + /* compress with Z_FIXED */ + outmode[3] = 'F'; + break; + case 5: + /* direct */ + outmode[3] = 'T'; + break; + } + + file_compress(inFileName, outmode); + + /* gzopen does not support reading in direct mode */ + if (outmode[3] == 'T') + inFileName = outFileName; + else + file_uncompress(outFileName); + + /* Check that the uncompressed file matches the input data. */ + in = fopen(inFileName, "rb"); + if (in == NULL) { + perror(inFileName); + exit(1); + } + + memset(buf, 0, sizeof(buf)); + for (;;) { + int len = (int)fread(buf, 1, sizeof(buf), in); + if (ferror(in)) { + perror("fread"); + exit(1); + } + if (len == 0) + break; + int c = memcmp(data + offset, buf, len); + assert(0 == c); + Z_UNUSED(c); // in Release build, assert() is a no-op. + offset += len; + } + + if (fclose(in)) + error("failed fclose"); + + /* This function must return 0. */ + return 0; +} diff --git a/neozip/test/fuzz/standalone_fuzz_target_runner.c b/neozip/test/fuzz/standalone_fuzz_target_runner.c new file mode 100644 index 0000000000..810a56072f --- /dev/null +++ b/neozip/test/fuzz/standalone_fuzz_target_runner.c @@ -0,0 +1,37 @@ +#include <assert.h> +#include <stdio.h> + +#include "zbuild.h" + +extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size); + +int main(int argc, char **argv) { + int i; + fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1); + + for (i = 1; i < argc; i++) { + size_t len, n_read, err; + unsigned char *buf; + FILE *f = fopen(argv[i], "rb+"); + if (!f) { + /* Failed to open this file: it may be a directory. */ + fprintf(stderr, "Skipping: %s\n", argv[i]); + continue; + } + fprintf(stderr, "Running: %s %s\n", argv[0], argv[i]); + fseek(f, 0, SEEK_END); + len = ftell(f); + fseek(f, 0, SEEK_SET); + buf = (unsigned char *)malloc(len); + n_read = fread(buf, 1, len, f); + assert(n_read == len); + LLVMFuzzerTestOneInput(buf, len); + free(buf); + err = fclose(f); + assert(err == 0); + Z_UNUSED(err); + fprintf(stderr, "Done: %s: (%d bytes)\n", argv[i], (int)n_read); + } + + return 0; +} diff --git a/neozip/test/gh1235.c b/neozip/test/gh1235.c new file mode 100644 index 0000000000..7bf8738f34 --- /dev/null +++ b/neozip/test/gh1235.c @@ -0,0 +1,39 @@ +#include <assert.h> +#include <stdio.h> +#include <string.h> +#include "zutil.h" + +int main(void) { + unsigned char plain[32]; + unsigned char compressed[130]; + PREFIX3(stream) strm; + z_size_t bound; + z_size_t bytes; + + for (int i = 0; i <= 32; i++) { + memset(plain, 6, i); + memset(&strm, 0, sizeof(strm)); + PREFIX(deflateInit2)(&strm, 0, 8, 31, 1, Z_DEFAULT_STRATEGY); + bound = PREFIX(deflateBound)(&strm, i); + strm.next_in = plain; + strm.next_out = compressed; + strm.avail_in = i; + strm.avail_out = sizeof(compressed); + if (PREFIX(deflate)(&strm, Z_FINISH) != Z_STREAM_END) return -1; + if (strm.avail_in != 0) return -1; + printf("bytes = %2i, deflateBound = %2zi, total_out = %2zi\n", i, (size_t)bound, (size_t)strm.total_out); + if (bound < strm.total_out) return -1; + if (PREFIX(deflateEnd)(&strm) != Z_OK) return -1; + } + for (int i = 0; i <= 32; i++) { + bytes = sizeof(compressed); + for (int j = 0; j < i; j++) { + plain[j] = j; + } + bound = PREFIX(compressBound)(i); + if (PREFIX(compress2)(compressed, &bytes, plain, i, 1) != Z_OK) return -1; + printf("bytes = %2i, compressBound = %2zi, total_out = %2zi\n", i, (size_t)bound, (size_t)bytes); + if (bytes > bound) return -1; + } + return 0; +} diff --git a/neozip/test/hash_test_strings_p.h b/neozip/test/hash_test_strings_p.h new file mode 100644 index 0000000000..447d1a6449 --- /dev/null +++ b/neozip/test/hash_test_strings_p.h @@ -0,0 +1,375 @@ +#ifndef HASH_TEST_STRINGS_P_H +#define HASH_TEST_STRINGS_P_H + +#define HASH_TEST_MAX_LENGTH 615336U + +ALIGNED_(16) static uint8_t hash_fullwin_buf[HASH_TEST_MAX_LENGTH]; + +static uint8_t* hash_setup_big_buf() { + for (size_t i = 0; i < HASH_TEST_MAX_LENGTH; ++i) { + uint8_t ic = (uint8_t)(i % 256); + hash_fullwin_buf[i] = ic; + } + + return hash_fullwin_buf; +} + +static uint8_t *big_test = hash_setup_big_buf(); + +static const uint8_t long_string[5552] = { + 'q','j','d','w','q','4','8','m','B','u','k','J','V','U','z','V','V','f','M','j','i','q','S','W','L','5','G','n','F','S','P','Q', + 'Q','D','i','6','m','E','9','Z','a','A','P','h','9','d','r','b','5','t','X','U','U','L','w','q','e','k','E','H','6','W','7','k', + 'A','x','N','Q','R','k','d','V','5','y','n','U','N','W','Q','Y','i','W','5','9','R','p','D','C','x','p','u','h','C','a','m','r', + 'z','n','z','A','d','J','6','u','N','e','r','x','7','Q','3','v','V','h','H','S','H','S','f','K','f','e','E','T','9','J','f','K', + 'w','t','x','J','2','y','7','B','x','X','X','p','G','b','T','g','3','k','U','6','E','Z','M','t','J','q','v','n','S','T','6','x', + '5','x','4','P','z','p','M','F','V','b','d','m','f','G','n','J','m','w','z','K','8','a','q','E','D','e','b','3','h','B','V','g', + 'y','3','P','L','5','8','r','z','X','b','Q','g','H','7','L','c','Z','B','3','C','4','y','t','u','k','z','h','v','C','Y','p','p', + '8','H','v','5','X','w','4','L','R','V','V','4','U','C','8','4','T','E','a','N','Z','S','7','U','u','z','f','H','p','P','J','u', + 'Y','Z','h','T','6','e','v','z','V','F','h','u','y','H','b','k','J','M','f','3','6','g','y','L','E','W','t','B','B','d','d','9', + 'u','M','Z','k','F','G','f','h','q','k','5','k','f','r','M','7','c','M','7','y','n','u','8','b','d','7','Q','f','E','m','F','K', + 'x','W','f','B','2','F','8','5','q','z','y','3','R','i','U','m','X','k','h','N','J','y','B','C','h','u','x','4','f','k','J','5', + '6','X','T','W','h','8','J','4','m','K','p','N','3','g','C','g','A','E','e','Z','x','A','P','2','E','4','t','Q','5','X','Y','j', + '6','m','b','h','G','a','v','6','t','v','6','C','M','G','P','u','B','C','A','V','b','2','9','d','2','c','5','a','b','X','w','V', + 'G','6','a','7','c','8','G','6','K','U','Q','m','w','P','V','5','N','x','b','v','x','E','N','C','A','N','t','v','N','B','z','X', + 'B','R','q','U','n','i','A','Q','d','m','a','D','7','Y','f','3','J','8','Y','m','w','Z','b','w','r','H','q','E','j','c','u','E', + 'i','i','S','b','n','G','P','a','F','j','c','R','D','D','G','F','v','i','a','i','M','7','B','e','w','m','L','E','F','2','Y','4', + '4','7','Y','C','t','y','q','7','2','V','G','m','m','E','e','V','u','m','L','p','R','X','W','z','V','K','E','k','p','V','r','J', + 'd','N','3','t','i','u','S','V','w','2','w','U','Q','3','F','q','4','h','q','k','B','7','R','X','B','F','Q','Z','b','b','4','E', + 'K','v','T','B','w','k','V','C','x','d','K','g','N','S','u','k','p','9','z','w','c','y','U','M','V','E','2','Y','P','F','h','9', + 'T','y','h','w','b','9','P','w','G','c','W','W','k','j','J','Q','N','B','U','G','6','9','U','b','v','a','N','9','N','C','G','n', + 'x','R','6','9','Q','C','h','e','j','P','U','h','U','R','i','4','T','B','W','5','w','m','J','p','e','7','r','9','t','c','9','Z', + 'j','p','r','F','C','e','U','P','x','T','A','N','7','6','a','i','y','e','w','F','C','X','H','Y','G','C','q','q','m','A','t','7', + 'z','u','D','S','L','U','C','f','7','e','t','G','V','F','u','c','x','5','M','7','N','i','M','6','h','2','n','H','S','h','K','M', + 'd','T','z','X','d','x','x','4','q','z','d','D','a','2','X','r','p','r','R','m','U','U','y','S','H','c','a','F','e','Z','a','U', + 'P','9','V','J','e','q','j','Y','M','x','e','v','K','7','M','P','N','2','b','6','f','P','h','H','4','U','X','k','n','f','Q','M', + '9','9','a','J','N','e','w','y','f','F','P','p','a','F','Y','a','M','L','W','i','T','M','B','3','U','v','X','v','G','p','7','a', + 'f','u','4','S','y','X','9','g','g','b','B','G','c','i','M','U','n','m','a','7','q','f','9','n','Q','2','V','L','6','e','T','R', + '2','4','9','d','6','Q','B','Y','q','2','4','9','G','Q','E','b','Y','5','u','2','T','Q','G','L','5','n','4','Y','2','y','G','F', + 'j','c','8','M','G','L','e','3','a','N','v','A','A','W','t','R','S','2','i','D','R','8','j','d','Q','3','6','C','V','M','e','w', + 'j','U','Z','w','M','4','b','m','8','J','P','Q','L','P','R','c','r','b','V','C','3','N','8','K','4','d','W','D','N','U','A','A', + '2','J','p','b','D','d','p','j','N','C','k','A','j','B','a','c','u','v','L','X','U','B','4','U','X','W','e','C','b','C','u','d', + 'A','v','U','z','P','t','D','e','5','y','Y','c','x','K','4','7','j','e','e','D','M','5','K','B','Q','6','d','p','T','T','R','j', + 'M','E','E','M','r','N','6','8','7','q','x','F','S','x','E','U','4','d','B','6','5','W','C','e','m','J','e','5','j','w','V','J', + 'w','v','d','7','v','f','K','u','m','8','h','W','T','e','Q','j','M','8','R','Y','d','B','R','2','r','F','j','7','d','E','q','V', + 'k','e','j','P','9','3','X','R','p','R','b','A','v','7','4','A','M','2','k','r','E','7','X','3','7','k','5','c','B','7','W','5', + 'u','J','B','Q','R','2','V','7','h','Q','h','9','g','G','y','c','c','x','M','z','7','G','2','J','w','v','j','5','9','E','b','k', + 'z','W','T','C','b','4','K','R','X','T','k','V','S','G','2','j','d','6','y','E','4','P','H','K','w','a','m','F','Z','x','9','j', + 'i','2','d','X','u','a','4','a','M','z','8','p','p','z','g','t','H','5','Y','L','Q','c','R','F','m','E','n','G','X','d','f','7', + 'x','8','j','g','J','z','D','S','a','S','h','y','5','h','Y','N','p','w','Y','W','h','E','N','v','8','Q','D','W','Z','k','f','e', + 'r','Z','D','7','R','D','T','2','H','X','z','G','X','f','v','E','z','P','v','U','H','e','4','R','W','U','x','t','t','4','w','p', + 'r','z','K','9','f','g','h','P','r','f','v','k','h','c','e','5','8','a','L','F','J','M','G','R','a','N','q','S','g','W','e','7', + 'R','K','R','A','B','z','6','v','S','p','w','n','e','x','k','E','r','j','f','Y','x','8','9','z','e','T','6','E','G','v','9','f', + 'D','A','N','v','y','U','7','D','M','2','E','5','W','G','6','b','9','q','g','Y','F','f','k','q','Q','E','x','Y','C','R','G','6', + 'R','h','4','J','d','U','D','b','9','b','8','r','f','V','d','g','b','2','z','Z','d','m','X','v','j','Y','d','w','K','8','G','r', + 'v','j','N','y','c','h','u','5','z','g','J','H','a','Z','b','z','G','C','r','P','f','y','P','6','F','P','h','7','9','w','7','y', + 'R','3','n','E','h','G','D','4','m','Y','E','q','k','a','f','a','R','B','q','t','W','E','T','p','H','7','k','X','2','d','X','6', + 'W','n','H','m','w','M','i','Y','M','E','F','5','R','p','p','y','c','b','q','R','9','Y','t','T','7','w','u','K','M','Q','z','n', + 'P','7','g','x','6','R','4','x','N','v','w','M','6','j','K','v','7','a','Y','4','a','M','6','n','z','3','E','2','V','N','4','i', + 'E','f','u','W','J','W','e','8','3','Q','e','a','F','P','c','3','P','k','i','z','d','q','m','q','M','a','d','8','D','3','F','M', + 'e','d','E','j','z','V','e','d','z','H','D','J','8','X','g','E','i','u','c','7','A','w','S','J','2','A','e','8','r','q','C','m', + '9','9','a','g','2','y','y','P','M','e','8','3','T','r','m','8','j','v','r','p','M','Z','Y','g','a','9','2','d','H','B','m','9', + '4','6','a','Z','V','u','S','H','g','3','X','h','i','N','3','B','S','E','k','9','k','2','9','R','A','i','3','L','X','M','B','S', + '4','S','F','F','F','w','u','d','M','T','9','K','B','7','R','U','R','8','D','8','T','5','U','t','E','R','x','n','x','h','v','k', + 'B','N','k','E','U','T','t','p','r','u','Z','h','t','E','4','i','P','z','f','z','q','M','p','f','A','K','2','D','t','j','f','c', + 'Y','E','N','M','x','k','g','7','T','U','2','c','d','V','g','2','z','L','i','j','Y','q','b','T','A','y','v','a','t','N','5','t', + 'Z','5','n','D','a','y','G','n','P','x','V','k','M','8','t','J','Z','G','g','5','9','R','h','P','P','J','N','X','p','G','J','p', + '2','y','A','v','d','G','U','z','3','V','M','y','q','U','N','M','Y','p','B','Z','U','h','j','q','z','q','x','w','7','d','J','Q', + 'u','F','q','3','m','9','c','Q','W','d','6','7','b','V','M','7','P','j','r','k','9','h','R','z','m','b','i','B','u','E','L','9', + 'k','v','h','h','W','2','K','e','M','U','Q','p','A','Q','Y','J','G','E','T','U','L','f','q','G','4','z','K','K','y','a','U','W', + 'K','D','P','c','N','D','V','S','Y','6','T','p','R','y','y','J','a','T','J','W','Q','9','p','F','P','X','y','k','9','z','z','4', + 'G','d','a','z','X','n','h','4','J','P','W','V','D','r','U','m','a','8','a','b','X','F','J','X','L','4','S','X','5','W','p','W', + 'h','y','x','B','f','d','C','X','w','7','r','g','V','T','H','a','i','4','N','v','c','w','n','2','3','A','i','A','J','9','N','c', + 'z','7','n','n','3','n','h','n','i','R','i','b','E','h','k','U','c','c','U','6','f','x','q','N','y','H','M','e','J','B','U','B', + 'r','g','a','8','V','a','G','V','y','u','c','c','v','C','H','W','y','g','z','Q','2','4','k','S','m','f','e','G','H','v','Q','3', + 'P','e','f','S','V','P','c','U','e','3','P','x','d','c','7','c','f','g','D','w','2','t','q','y','g','2','Q','V','4','K','a','Q', + 'g','B','b','L','x','9','m','a','K','4','i','x','g','Q','M','9','W','N','2','w','p','v','2','k','B','y','9','k','A','c','f','Z', + 'D','R','A','S','d','v','w','f','f','q','t','K','3','j','x','D','G','P','n','u','r','v','U','k','A','2','d','R','N','T','G','4', + 'B','g','k','t','h','7','J','k','F','A','C','g','W','g','J','F','z','S','Q','c','v','M','b','D','e','H','Q','S','j','v','G','E', + 'R','k','f','i','P','E','F','N','6','y','p','b','t','M','c','Q','B','7','g','w','J','7','3','d','V','E','m','z','6','6','P','P', + 'd','i','r','J','H','D','H','J','r','b','n','v','z','W','e','u','g','B','u','Z','2','m','D','5','h','F','X','B','2','r','6','w', + 'u','Y','4','N','X','K','a','v','V','3','j','B','r','r','C','c','w','R','g','S','8','V','b','F','2','N','M','c','K','8','Y','E', + 'E','N','K','X','K','V','B','x','n','Q','p','a','q','f','k','t','z','Y','E','P','Z','y','n','a','c','B','V','a','x','b','d','X', + 'r','d','8','P','H','F','v','r','V','5','g','J','w','6','i','h','d','d','p','J','c','c','Y','S','q','W','m','U','5','G','b','H', + 'N','z','E','Z','K','E','y','M','c','G','i','d','w','Z','D','N','N','w','S','t','g','y','a','Y','b','H','e','M','N','f','Y','Y', + '7','a','9','b','M','U','k','a','V','k','C','n','a','k','U','H','A','M','i','v','k','t','a','d','i','3','F','d','5','2','A','p', + 'U','c','J','U','R','h','G','d','A','Y','v','q','X','c','w','r','x','4','j','3','4','b','F','d','a','L','N','J','3','Z','g','6', + 'W','Q','R','u','P','t','M','A','3','F','6','y','K','Y','G','2','t','v','u','p','w','b','G','S','K','5','p','4','d','E','w','6', + 'g','t','V','4','b','2','n','b','Z','3','3','f','m','d','2','c','a','m','j','X','U','E','D','6','6','F','w','H','9','7','Z','Y', + 'd','X','C','K','i','g','p','F','Y','n','2','b','F','4','R','u','V','k','f','d','J','i','a','b','X','H','7','v','K','a','Q','i', + 'W','M','j','M','i','a','i','n','F','h','r','q','4','w','x','m','4','q','y','F','8','w','i','4','D','B','A','L','B','U','u','K', + 'v','K','n','a','Q','i','e','k','v','Q','U','5','w','Q','c','r','A','6','M','w','y','g','n','e','v','K','7','W','u','2','y','f', + 'Q','u','e','r','y','a','w','V','p','f','Q','z','C','u','i','i','9','S','P','q','L','r','C','H','S','3','E','p','8','S','m','Q', + 'S','K','r','V','b','J','R','m','w','c','n','Q','N','Q','4','M','u','f','X','S','f','U','Z','x','U','4','j','K','4','G','z','X', + '7','Q','j','R','h','i','G','m','q','c','V','T','x','U','a','E','b','Q','q','E','i','F','K','7','K','i','R','J','5','Y','F','V', + 'B','7','R','8','M','i','f','j','Z','w','j','b','B','u','p','N','Y','r','S','r','f','h','E','J','T','B','P','R','D','V','K','A', + 'Z','A','R','j','z','f','B','i','Y','L','F','G','V','Y','w','R','C','P','G','m','9','7','C','5','e','y','w','N','K','N','a','Q', + 'j','a','W','3','2','f','G','w','n','M','6','F','u','K','8','g','8','M','G','r','e','9','Z','z','y','2','G','U','k','G','6','m', + 'A','D','4','n','b','8','a','q','S','m','S','6','5','R','5','D','5','S','B','g','X','T','8','Q','V','d','A','n','g','y','8','a', + 'h','7','K','9','H','D','J','F','w','G','4','w','T','J','F','f','i','8','X','e','B','J','K','H','7','V','y','X','7','E','8','S', + 'A','d','b','w','S','8','Y','a','J','d','j','E','V','J','T','E','U','R','5','7','V','M','E','v','D','3','z','5','r','k','z','v', + 'e','m','A','7','P','8','j','X','E','f','Q','q','8','D','g','y','8','j','A','e','B','c','c','M','z','k','2','c','q','v','v','y', + 'Q','y','h','g','p','v','M','m','m','C','G','D','k','8','u','T','n','Q','H','G','H','f','b','J','j','5','X','c','i','7','7','q', + 'b','R','8','b','b','z','f','f','h','Y','Q','7','u','B','X','e','i','j','M','q','C','T','M','v','t','J','J','w','b','F','v','J', + 'm','e','2','u','e','8','L','V','G','q','A','j','m','7','m','g','m','5','i','r','p','p','U','y','F','6','f','b','u','6','q','L', + 'M','E','t','V','W','C','t','e','p','w','a','n','w','y','X','h','8','e','G','C','H','q','r','X','G','9','c','h','7','k','8','M', + 'G','b','a','m','Y','Q','w','8','J','z','a','F','r','4','W','M','j','P','q','a','z','U','y','u','3','b','Z','f','Y','5','7','g', + 'N','M','h','M','a','3','C','K','6','6','f','a','p','i','f','q','k','T','i','z','w','f','Z','c','H','L','X','g','6','m','g','r', + 'w','Y','u','K','8','L','p','8','P','R','A','R','A','b','Z','V','a','x','V','c','G','A','H','t','Y','6','P','T','L','W','N','z', + 'g','z','k','d','E','v','C','t','Z','M','Z','K','4','w','9','5','D','W','f','U','8','5','u','6','b','5','B','8','g','y','C','E', + 'Q','z','e','9','p','N','S','P','D','D','f','x','k','Z','4','R','v','X','V','k','p','b','n','t','c','F','R','e','x','9','C','D', + 'J','2','6','f','Z','D','w','J','R','j','j','9','b','w','N','N','p','R','f','Z','z','j','F','r','Q','e','F','x','f','t','V','V', + 'A','y','J','G','W','Z','H','r','D','5','M','u','H','V','L','N','U','V','X','z','j','9','r','v','e','d','R','c','u','V','x','r', + 'c','6','k','L','h','q','w','U','W','Q','g','G','F','C','t','E','a','D','h','x','9','5','P','R','Z','E','M','5','f','4','2','t', + 'A','6','f','r','X','G','X','Y','B','8','G','E','n','B','v','x','f','M','R','f','B','z','Y','3','2','q','z','G','t','P','C','6', + '6','r','z','J','r','c','n','d','6','h','e','w','D','D','h','V','L','u','i','b','5','K','d','S','y','9','N','p','E','r','D','k', + 'B','z','u','v','d','Q','p','K','5','m','J','r','b','Y','Z','7','p','M','J','F','E','q','x','f','E','K','U','U','4','f','a','6', + 'g','5','a','q','D','U','8','F','y','R','a','P','5','5','x','z','6','V','T','P','D','m','y','7','U','5','C','A','7','Q','h','w', + 'r','6','x','g','Q','i','b','K','F','p','B','X','Q','h','i','E','r','C','z','v','x','W','Q','6','p','6','b','M','K','V','x','u', + 'k','d','R','S','k','Q','p','n','h','d','Q','Y','x','n','x','5','K','t','5','w','A','5','p','k','F','z','W','p','j','U','y','V', + 'x','G','m','y','L','A','X','H','G','A','a','J','5','E','P','q','E','U','7','p','6','A','9','n','d','G','D','g','i','h','t','W', + 'b','c','E','2','P','d','y','J','M','u','4','g','P','S','X','J','v','w','3','v','D','q','U','i','U','T','q','E','Y','5','2','t', + 'b','j','P','2','j','D','9','y','i','B','5','Y','3','X','L','w','m','V','X','z','X','r','Z','d','H','L','A','H','k','R','X','5', + 'i','L','m','q','3','p','a','G','P','j','g','h','R','P','Y','U','z','M','5','R','M','A','E','Q','V','c','w','r','4','M','S','k', + 'N','D','i','R','R','x','t','q','T','i','u','N','K','R','x','Z','K','a','g','G','y','9','c','j','J','S','9','3','H','T','f','F', + 'q','6','D','W','F','K','h','e','p','p','b','q','N','k','A','C','m','y','u','B','J','v','q','D','e','j','e','b','2','w','R','t', + 'J','N','j','F','T','A','8','L','m','X','i','T','g','j','c','V','4','V','h','2','h','R','p','2','9','k','c','c','G','D','h','z', + 't','i','h','t','W','R','n','Y','i','8','u','6','G','9','T','P','9','9','J','P','Y','R','h','X','K','z','h','L','W','r','C','U', + '2','L','T','k','2','m','6','W','L','P','T','Z','z','t','i','H','5','G','w','t','E','v','z','k','b','H','b','b','W','W','u','b', + 'i','h','C','Q','n','H','N','u','5','u','K','X','r','M','W','U','3','Y','k','P','2','k','x','f','x','C','w','z','z','b','G','8', + 'y','W','e','j','v','2','v','r','t','q','z','p','Y','d','w','6','Z','D','J','L','9','F','z','G','U','4','a','8','H','6','U','a', + 'q','7','y','Q','J','v','m','D','P','S','j','q','v','t','n','t','g','j','3','t','8','f','K','K','7','b','W','d','F','i','N','K', + 'a','R','V','V','V','v','m','A','Q','2','y','j','c','t','f','k','j','7','X','y','j','b','U','F','w','W','3','9','6','A','S','J', + 'p','q','2','Z','7','L','p','b','7','b','5','i','p','r','r','h','P','M','h','j','c','y','e','u','h','B','d','9','9','u','f','d', + 'g','u','p','w','u','9','S','c','L','U','g','A','y','V','F','V','6','D','D','X','i','V','m','u','Y','P','J','v','L','T','A','F', + 'M','Q','H','Z','6','v','8','p','A','L','P','z','C','V','a','C','h','X','j','W','8','G','z','j','d','M','4','u','x','w','H','g', + 'V','q','K','z','b','g','2','3','D','N','y','G','X','F','T','v','T','L','y','v','L','9','g','c','C','R','8','L','A','7','Y','N', + 't','n','R','6','b','n','m','9','i','h','t','T','F','a','V','N','J','J','3','J','q','p','W','7','b','T','G','r','M','k','a','7', + 'D','H','v','y','T','A','C','U','P','u','q','L','R','Y','4','q','h','y','f','F','J','x','K','7','N','B','v','3','a','Z','M','t', + 'U','x','8','9','V','E','t','j','K','r','u','Y','Y','A','u','w','Y','2','y','Q','z','S','n','J','B','2','t','X','x','K','z','g', + '6','d','n','i','7','Z','N','F','Q','6','w','N','r','b','k','d','W','X','S','t','c','U','m','6','4','2','e','w','6','x','Z','a', + 'Q','A','7','4','h','H','z','r','e','J','q','j','w','4','q','c','i','R','4','x','n','r','j','r','P','g','E','7','t','k','b','Z', + 'r','A','b','d','g','i','G','V','D','E','U','L','b','J','U','q','2','S','K','m','A','U','L','k','Q','4','N','p','k','G','C','6', + 'R','Z','B','y','B','B','j','y','x','L','d','h','L','G','6','x','H','z','T','5','d','Y','4','2','m','q','Q','y','H','6','c','N', + 'u','m','U','v','i','Y','Z','7','4','L','K','F','b','v','2','Y','h','x','8','a','R','w','q','x','E','a','T','y','m','C','2','Q', + 'U','T','D','Q','v','u','M','9','D','8','r','8','b','m','p','E','7','C','T','9','B','A','G','k','b','G','z','Z','G','L','N','k', + 'h','3','k','J','e','f','d','x','F','8','W','K','7','T','6','h','H','V','C','h','P','u','H','e','v','w','z','P','K','r','D','G', + 'X','Z','B','X','f','H','Q','4','e','D','y','W','Z','6','4','K','A','e','a','F','S','N','h','x','S','W','J','c','E','P','g','j', + 'a','w','T','m','Z','X','E','P','Y','R','M','2','R','2','X','N','F','X','Y','W','x','z','p','J','g','n','D','4','i','p','6','N', + 'r','9','G','k','E','h','T','h','U','h','x','B','Q','9','H','7','w','U','P','Q','d','G','6','q','p','j','j','v','C','a','X','J', + 'N','G','Y','w','f','H','C','x','F','k','z','3','9','r','h','8','7','5','V','i','V','C','R','q','x','N','2','2','i','W','F','U', + '7','T','H','f','z','E','a','n','u','Q','t','U','Y','G','t','3','A','m','r','6','d','f','e','n','e','z','F','u','U','N','8','m', + 'h','p','R','N','S','H','6','6','V','M','S','t','q','P','E','i','u','y','g','8','L','Q','Y','Y','G','e','W','W','C','G','y','b', + 'y','t','u','P','R','P','5','m','N','K','B','Z','w','f','t','k','x','3','L','b','q','d','w','S','G','E','h','R','F','4','q','e', + '5','6','F','2','n','q','T','R','y','f','n','Y','h','2','F','u','x','M','i','i','h','w','G','C','Z','v','i','C','a','X','U','C', + 'Y','8','d','h','R','x','V','n','v','G','i','D','a','U','p','U','a','e','b','F','w','P','d','X','n','K','h','9','H','r','b','g', + '2','f','m','X','k','m','q','6','n','5','b','G','H','d','R','9','D','U','c','r','Z','Y','W','S','Z','x','p','t','x','y','4','k', + 'j','F','U','t','C','i','e','i','b','p','e','4','C','z','h','3','3','5','Q','P','n','G','i','A','8','c','Q','z','B','a','V','4', + '2','B','2','z','u','u','3','i','L','w','y','g','K','H','k','y','2','B','b','e','5','e','4','e','U','4','z','n','P','z','a','c', + 'E','f','u','M','G','C','g','z','j','4','E','7','R','t','D','K','c','t','p','g','W','H','C','H','J','Q','J','c','F','5','4','W', + 'K','7','j','h','A','T','K','z','t','S','f','f','j','C','c','8','n','7','c','T','U','R','Q','E','7','A','W','Z','z','K','5','j', + '2','H','k','a','j','g','g','W','w','4','T','A','9','J','U','e','S','N','P','K','d','k','L','Q','G','Z','e','W','i','H','u','j', + 'C','z','4','E','2','v','5','L','u','9','Z','a','9','A','b','C','M','G','X','B','C','2','Y','Z','e','U','n','E','5','Y','n','y', + 'F','h','H','p','9','j','Y','F','V','w','Y','r','8','Q','f','C','J','4','T','t','z','Q','N','M','e','7','4','3','y','E','M','m', + 'b','S','c','h','w','a','X','E','d','E','z','t','h','9','k','p','A','k','K','H','x','q','K','Z','B','u','a','9','3','U','U','u', + '8','E','D','v','y','k','W','Y','X','k','r','R','D','X','n','Q','V','d','e','D','g','x','E','V','Y','w','k','m','K','r','H','D', + 't','2','6','N','U','g','3','t','B','9','t','u','M','D','z','Y','K','z','K','r','V','5','i','e','p','M','d','t','w','6','a','f', + 'f','W','k','L','i','g','M','V','M','Y','b','x','e','4','h','h','Y','g','w','Z','m','e','e','6','R','W','M','x','G','y','V','n', + '6','e','g','A','g','K','a','N','7','p','a','u','E','4','6','M','t','X','h','g','b','j','p','5','x','x','B','P','3','J','M','7', + 'j','Z','P','y','e','Q','Z','e','t','j','3','t','F','V','x','m','b','b','B','y','J','L','L','9','3','R','a','5','j','S','V','t', + 'e','2','6','m','H','w','r','w','r','6','Q','3','x','z','m','A','d','x','t','E','H','c','Z','x','c','P','j','r','u','U','W','k', + '6','g','X','g','n','f','n','7','H','M','B','t','v','6','v','x','g','M','f','e','2','w','m','y','d','H','S','q','c','K','U','H', + '2','X','h','d','p','Q','7','J','X','i','X','f','a','z','V','A','F','2','8','z','v','h','C','h','e','4','g','z','w','z','h','q', + 'p','6','B','n','m','8','h','W','U','7','z','h','T','6','J','f','4','Z','n','Q','W','z','2','N','4','t','g','7','u','4','X','2', + 'C','F','L','n','J','n','m','j','3','P','3','Y','e','J','R','A','H','e','R','D','z','7','u','X','Y','y','D','w','J','m','G','U', + 'P','H','5','S','d','a','F','F','Y','c','M','f','3','3','L','v','V','B','U','C','A','d','N','H','Q','h','7','8','4','r','p','G', + 'v','M','D','H','7','e','E','r','i','K','Q','i','B','D','M','Z','p','c','R','G','u','c','H','a','N','k','E','f','9','R','7','x', + '6','3','5','u','x','3','h','v','p','6','q','r','j','u','f','W','T','q','P','n','Y','L','B','6','U','w','P','2','T','W','R','g', + '2','3','3','e','N','V','a','j','b','e','4','T','u','J','u','u','F','B','D','G','H','x','x','k','5','G','e','3','4','B','m','L', + 'S','b','i','t','T','p','M','D','Z','A','A','i','r','J','p','4','H','U','A','G','y','d','Q','5','U','R','F','8','q','a','S','H', + 'n','5','z','9','g','3','u','R','H','m','G','m','b','p','c','L','Z','Y','u','m','i','K','A','Q','R','T','X','G','t','b','8','7', + '7','6','w','M','N','f','R','G','r','L','m','q','n','7','5','k','X','8','g','u','K','7','Y','w','K','q','U','e','W','A','r','i', + 'Z','a','p','q','L','5','P','u','n','t','y','G','x','C','N','X','q','P','r','U','v','A','r','r','q','e','f','c','z','M','7','N', + '6','a','z','Z','a','t','f','p','4','v','J','Y','j','h','M','D','t','k','A','B','p','Q','A','y','x','X','7','p','S','8','m','M', + 'y','K','B','A','5','2','7','b','y','R','K','q','A','u','3','J'}; + +typedef struct { + uint32_t len; + const uint8_t *buf; + uint32_t initial_adler; + uint32_t expect_adler; + uint32_t initial_crc; + uint32_t expect_crc; +} hash_test; + +static const hash_test hash_tests[] = { + {0, (const uint8_t *)"", 0x1, 0x1, 0x0, 0x0}, + {1, (const uint8_t *)"", 0x1, 0x10001, 0x0, 0xd202ef8d}, + {0, (const uint8_t *)"", 0xffffffff, 0x000e000e, 0xffffffff, 0xffffffff}, + {1, (const uint8_t *)"a", 0x1, 0x00620062, 0x0, 0xe8b7be43}, + {6, (const uint8_t *)"abacus", 0x1, 0x8400270, 0x0, 0xc3d7115b}, + {7, (const uint8_t *)"backlog", 0x1, 0xb1f02d4, 0x0, 0x269205}, + {8, (const uint8_t *)"campfire", 0x1, 0xea10348, 0x0, 0x22a515f8}, + {5, (const uint8_t *)"delta", 0x1, 0x61a020b, 0x0, 0x9643fed9}, + {10, (const uint8_t *)"executable", 0x1, 0x16fa0423, 0x0, 0xd68eda01}, + {4, (const uint8_t *)"file", 0x1, 0x41401a1, 0x0, 0x8c9f3610}, + {8, (const uint8_t *)"greatest", 0x1, 0xefa0360, 0x0, 0xc1abd6cd}, + {5, (const uint8_t *)"hello", 0x1, 0x062c0215, 0x0, 0x3610a686}, + {8, (const uint8_t *)"inverter", 0x1, 0xf6f0370, 0x0, 0xc9e962c9}, + {6, (const uint8_t *)"jigsaw", 0x1, 0x8bd0286, 0x0, 0xce4e3f69}, + {6, (const uint8_t *)"karate", 0x1, 0x8a50279, 0x0, 0x890be0e2}, + {9, (const uint8_t *)"landscape", 0x1, 0x126a03ac, 0x0, 0xc4e0330b}, + {7, (const uint8_t *)"machine", 0x1, 0xb5302d6, 0x0, 0x1505df84}, + {9, (const uint8_t *)"nanometer", 0x1, 0x12d803ca, 0x0, 0xd4e19f39}, + {8, (const uint8_t *)"oblivion", 0x1, 0xf220363, 0x0, 0xdae9de77}, + {6, (const uint8_t *)"panama", 0x1, 0x8a1026f, 0x0, 0x66b8979c}, + {5, (const uint8_t *)"quest", 0x1, 0x6970233, 0x0, 0x4317f817}, + {8, (const uint8_t *)"resource", 0x1, 0xf8d0369, 0x0, 0xbc91f416}, + {6, (const uint8_t *)"secret", 0x1, 0x8d10287, 0x0, 0x5ca2e8e5}, + {4, (const uint8_t *)"test", 0x1, 0x045d01c1, 0x0, 0xd87f7e0c}, + {8, (const uint8_t *)"ultimate", 0x1, 0xf8d0366, 0x0, 0x3fc79b0b}, + {6, (const uint8_t *)"vector", 0x1, 0x8fb0294, 0x0, 0x1b6e485b}, + {6, (const uint8_t *)"walrus", 0x1, 0x918029f, 0x0, 0xbe769b97}, + {4, (const uint8_t *)"xeno", 0x1, 0x45e01bb, 0x0, 0xe7a06444}, + {7, (const uint8_t *)"yelling", 0x1, 0xbfe02f5, 0x0, 0xfe3944e5}, + {4, (const uint8_t *)"zero", 0x1, 0x046e01c1, 0x0, 0xabdef192}, + {4, (const uint8_t *)"zlib", 0x1, 0x046401b2, 0x0, 0x73887d3a}, + {20, (const uint8_t *)"4BJD7PocN1VqX0jXVpWB", 0x1, 0x3eef064d, 0x0, 0xd487a5a1}, + {20, (const uint8_t *)"F1rPWI7XvDs6nAIRx41l", 0x1, 0x425d065f, 0x0, 0x61a0132e}, + {20, (const uint8_t *)"ldhKlsVkPFOveXgkGtC2", 0x1, 0x4f1a073e, 0x0, 0xdf02f76}, + {20, (const uint8_t *)"5KKnGOOrs8BvJ35iKTOS", 0x1, 0x42290650, 0x0, 0x579b2b0a}, + {20, (const uint8_t *)"0l1tw7GOcem06Ddu7yn4", 0x1, 0x43fd0690, 0x0, 0xf7d16e2d}, + {20, (const uint8_t *)"MCr47CjPIn9R1IvE1Tm5", 0x1, 0x3f770609, 0x0, 0x731788f5}, + {20, (const uint8_t *)"UcixbzPKTIv0SvILHVdO", 0x1, 0x4c7c0703, 0x0, 0x7112bb11}, + {20, (const uint8_t *)"dGnAyAhRQDsWw0ESou24", 0x1, 0x48ac06b7, 0x0, 0xf32a0dac}, + {20, (const uint8_t *)"di0nvmY9UYMYDh0r45XT", 0x1, 0x489a0698, 0x0, 0x625437bb}, + {20, (const uint8_t *)"2XKDwHfAhFsV0RhbqtvH", 0x1, 0x44a906e6, 0x0, 0x896930f9}, + {20, (const uint8_t *)"ZhrANFIiIvRnqClIVyeD", 0x1, 0x4a29071c, 0x0, 0x8579a37}, + {20, (const uint8_t *)"v7Q9ehzioTOVeDIZioT1", 0x1, 0x4a7706f9, 0x0, 0x632aa8e0}, + {20, (const uint8_t *)"Yod5hEeKcYqyhfXbhxj2", 0x1, 0x4ce60769, 0x0, 0xc829af29}, + {20, (const uint8_t *)"GehSWY2ay4uUKhehXYb0", 0x1, 0x48ae06e5, 0x0, 0x1b08b7e8}, + {20, (const uint8_t *)"kwytJmq6UqpflV8Y8GoE", 0x1, 0x51d60750, 0x0, 0x4e33b192}, + {20, (const uint8_t *)"70684206568419061514", 0x1, 0x2b100414, 0x0, 0x59a179f0}, + {20, (const uint8_t *)"42015093765128581010", 0x1, 0x2a550405, 0x0, 0xcd1013d7}, + {20, (const uint8_t *)"88214814356148806939", 0x1, 0x2b450423, 0x0, 0xab927546}, + {20, (const uint8_t *)"43472694284527343838", 0x1, 0x2b460421, 0x0, 0x11f3b20c}, + {20, (const uint8_t *)"49769333513942933689", 0x1, 0x2bc1042b, 0x0, 0xd562d4ca}, + {20, (const uint8_t *)"54979784887993251199", 0x1, 0x2ccd043d, 0x0, 0x233395f7}, + {20, (const uint8_t *)"58360544869206793220", 0x1, 0x2b68041a, 0x0, 0x2d167fd5}, + {20, (const uint8_t *)"27347953487840714234", 0x1, 0x2b84041d, 0x0, 0x8b5108ba}, + {20, (const uint8_t *)"07650690295365319082", 0x1, 0x2afa0417, 0x0, 0xc46b3cd8}, + {20, (const uint8_t *)"42655507906821911703", 0x1, 0x2aff0412, 0x0, 0xc10b2662}, + {20, (const uint8_t *)"29977409200786225655", 0x1, 0x2b8d0420, 0x0, 0xc9a0f9d2}, + {20, (const uint8_t *)"85181542907229116674", 0x1, 0x2b140419, 0x0, 0x9341357b}, + {20, (const uint8_t *)"87963594337989416799", 0x1, 0x2c8e043f, 0x0, 0xf0424937}, + {20, (const uint8_t *)"21395988329504168551", 0x1, 0x2b68041f, 0x0, 0xd7c4c31f}, + {20, (const uint8_t *)"51991013580943379423", 0x1, 0x2af10417, 0x0, 0xf11edcc4}, + {30, (const uint8_t *)"*]+@!);({_$;}[_},?{?;(_?,=-][@", 0x1, 0x7c9d0841, 0x0, 0x40795df4}, + {30, (const uint8_t *)"_@:_).&(#.[:[{[:)$++-($_;@[)}+", 0x1, 0x71060751, 0x0, 0xdd61a631}, + {30, (const uint8_t *)"&[!,[$_==}+.]@!;*(+},[;:)$;)-@", 0x1, 0x7095070a, 0x0, 0xca907a99}, + {30, (const uint8_t *)"]{.[.+?+[[=;[?}_#&;[=)__$$:+=_", 0x1, 0x82530815, 0x0, 0xf652deac}, + {30, (const uint8_t *)"-%.)=/[@].:.(:,()$;=%@-$?]{%+%", 0x1, 0x61250661, 0x0, 0xaf39a5a9}, + {30, (const uint8_t *)"+]#$(@&.=:,*];/.!]%/{:){:@(;)$", 0x1, 0x642006a3, 0x0, 0x6bebb4cf}, + {30, (const uint8_t *)")-._.:?[&:.=+}(*$/=!.${;(=$@!}", 0x1, 0x674206cb, 0x0, 0x76430bac}, + {30, (const uint8_t *)":(_*&%/[[}+,?#$&*+#[([*-/#;%(]", 0x1, 0x67670680, 0x0, 0x6c80c388}, + {30, (const uint8_t *)"{[#-;:$/{)(+[}#]/{&!%(@)%:@-$:", 0x1, 0x7547070f, 0x0, 0xd54d977d}, + {30, (const uint8_t *)"_{$*,}(&,@.)):=!/%(&(,,-?$}}}!", 0x1, 0x69ea06ee, 0x0, 0xe3966ad5}, + {100, (const uint8_t *)"e$98KNzqaV)Y:2X?]77].{gKRD4G5{mHZk,Z)SpU%L3FSgv!Wb8MLAFdi{+fp)c,@8m6v)yXg@]HBDFk?.4&}g5_udE*JHCiH=aL", 0x1, 0x1b01e92, 0x0, 0xe7c71db9}, + {100, (const uint8_t *)"r*Fd}ef+5RJQ;+W=4jTR9)R*p!B;]Ed7tkrLi;88U7g@3v!5pk2X6D)vt,.@N8c]@yyEcKi[vwUu@.Ppm@C6%Mv*3Nw}Y,58_aH)", 0x1, 0xfbdb1e96, 0x0, 0xeaa52777}, + {100, (const uint8_t *)"h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 0x1, 0x47a61ec8, 0x0, 0xcd472048}, + {5552, (const uint8_t *)long_string, 0x1, 0x8b81718f, 0x0, 0x426fa73b}, + {6, (const uint8_t *)"abacus", 0x1, 0x8400270, 0x7a30360d, 0xf8655a84}, + {1, (const uint8_t *)"", 0x6fd767ee, 0xd7c567ee, 0x6fd767ee, 0x95dff795}, + {1, (const uint8_t *)"a", 0xefeb7589, 0x65e475ea, 0x0, 0xe8b7be43}, + {6, (const uint8_t *)"abacus", 0x61cf7e6b, 0x60b880da, 0x0, 0xc3d7115b}, + {7, (const uint8_t *)"backlog", 0x1, 0xb1f02d4, 0x6fd767ee, 0x1ed834b1}, + {7, (const uint8_t *)"backlog", 0xdc712e2, 0x9d0d15b5, 0xefeb7589, 0x975f06f6}, + {8, (const uint8_t *)"campfire", 0xad23c7fd, 0xfbfecb44, 0x0, 0x22a515f8}, + {8, (const uint8_t *)"campfire", 0x1, 0xea10348, 0xefeb7589, 0x686cfca}, + {5, (const uint8_t *)"delta", 0x85cb2317, 0x3b622521, 0x61cf7e6b, 0x1554e4b1}, + {10, (const uint8_t *)"executable", 0x9eed31b0, 0xa6db35d2, 0xdc712e2, 0x761b4254}, + {4, (const uint8_t *)"file", 0xb94f34ca, 0x9096366a, 0xad23c7fd, 0x7abdd09b}, + {8, (const uint8_t *)"greatest", 0xab058a2, 0xded05c01, 0x85cb2317, 0x4ba91c6b}, + {8, (const uint8_t *)"inverter", 0x5bff2b7a, 0xc7452ee9, 0x9eed31b0, 0xd5e78ba5}, + {6, (const uint8_t *)"jigsaw", 0x605c9a5f, 0x7899ce4, 0xb94f34ca, 0x23649109}, + {6, (const uint8_t *)"karate", 0x51bdeea5, 0xf285f11d, 0xab058a2, 0xc5591f41}, + {9, (const uint8_t *)"landscape", 0x85c21c79, 0x98732024, 0x5bff2b7a, 0xf10eb644}, + {7, (const uint8_t *)"machine", 0x97216f56, 0xadf4722b, 0x605c9a5f, 0xbaa0a636}, + {9, (const uint8_t *)"nanometer", 0x18444af2, 0xcdb34ebb, 0x51bdeea5, 0x6af89afb}, + {8, (const uint8_t *)"oblivion", 0xbe6ce359, 0xe8b7e6bb, 0x85c21c79, 0xecae222b}, + {6, (const uint8_t *)"panama", 0x843071f1, 0x389e745f, 0x97216f56, 0x47dffac4}, + {5, (const uint8_t *)"quest", 0xf2480c60, 0x36c90e92, 0x18444af2, 0x70c2fe36}, + {8, (const uint8_t *)"resource", 0x2d2feb3d, 0x9705eea5, 0xbe6ce359, 0x1471d925}, + {6, (const uint8_t *)"secret", 0x7490310a, 0xa3a63390, 0x843071f1, 0x50c9a0db}, + {8, (const uint8_t *)"ultimate", 0x97d247d4, 0xe6154b39, 0xf2480c60, 0xf973daf8}, + {6, (const uint8_t *)"vector", 0x93cf7599, 0x5e87782c, 0x2d2feb3d, 0x344ac03d}, + {6, (const uint8_t *)"walrus", 0x73c84278, 0xbc84516, 0x7490310a, 0x6d1408ef}, + {4, (const uint8_t *)"xeno", 0x228a87d1, 0x4646898b, 0x97d247d4, 0xe62670b5}, + {7, (const uint8_t *)"yelling", 0xa7a048d0, 0xb1654bc4, 0x93cf7599, 0x1b36da38}, + {4, (const uint8_t *)"zlib", 0x1f0ded40, 0xd89aeef1, 0x73c84278, 0x6432d127}, + {20, (const uint8_t *)"4BJD7PocN1VqX0jXVpWB", 0xa804a62f, 0xe34eac7b, 0x228a87d1, 0x997107d0}, + {20, (const uint8_t *)"F1rPWI7XvDs6nAIRx41l", 0x508fae6a, 0x33f2b4c8, 0xa7a048d0, 0xdc567274}, + {20, (const uint8_t *)"ldhKlsVkPFOveXgkGtC2", 0xe5adaf4f, 0xe7b1b68c, 0x1f0ded40, 0xdcc63870}, + {20, (const uint8_t *)"5KKnGOOrs8BvJ35iKTOS", 0x67136a40, 0xf6a0708f, 0xa804a62f, 0x6926cffd}, + {20, (const uint8_t *)"0l1tw7GOcem06Ddu7yn4", 0xb00c4a10, 0xbd8f509f, 0x508fae6a, 0xb52b38bc}, + {20, (const uint8_t *)"MCr47CjPIn9R1IvE1Tm5", 0x2e0c84b5, 0xcc298abd, 0xe5adaf4f, 0xf83b8178}, + {20, (const uint8_t *)"UcixbzPKTIv0SvILHVdO", 0x81238d44, 0xd7809446, 0x67136a40, 0xc5213070}, + {20, (const uint8_t *)"dGnAyAhRQDsWw0ESou24", 0xf853aa92, 0x9525b148, 0xb00c4a10, 0xbc7648b0}, + {20, (const uint8_t *)"di0nvmY9UYMYDh0r45XT", 0x5a692325, 0x620029bc, 0x2e0c84b5, 0xd8123a72}, + {20, (const uint8_t *)"2XKDwHfAhFsV0RhbqtvH", 0x3275b9f, 0x70916284, 0x81238d44, 0xd5ac5620}, + {20, (const uint8_t *)"ZhrANFIiIvRnqClIVyeD", 0x38371feb, 0xd52706, 0xf853aa92, 0xceae099d}, + {20, (const uint8_t *)"v7Q9ehzioTOVeDIZioT1", 0xafc8bf62, 0xeeb4c65a, 0x5a692325, 0xb07d2b24}, + {20, (const uint8_t *)"Yod5hEeKcYqyhfXbhxj2", 0x9b07db73, 0xde3e2db, 0x3275b9f, 0x24ce91df}, + {20, (const uint8_t *)"GehSWY2ay4uUKhehXYb0", 0xe75b214, 0x4171b8f8, 0x38371feb, 0x707b3b30}, + {20, (const uint8_t *)"kwytJmq6UqpflV8Y8GoE", 0x72d0fe6f, 0xa66a05cd, 0xafc8bf62, 0x16abc6a9}, + {20, (const uint8_t *)"70684206568419061514", 0xf857a4b1, 0x1f9a8c4, 0x9b07db73, 0xae1fb7b7}, + {20, (const uint8_t *)"42015093765128581010", 0x54b8e14, 0x49c19218, 0xe75b214, 0xd4eecd2d}, + {20, (const uint8_t *)"88214814356148806939", 0xd6aa5616, 0xbbfc5a38, 0x72d0fe6f, 0x4660ec7}, + {20, (const uint8_t *)"43472694284527343838", 0x11e63098, 0x93434b8, 0xf857a4b1, 0xfd8afdf7}, + {20, (const uint8_t *)"49769333513942933689", 0xbe92385, 0xfe1827af, 0x54b8e14, 0xc6d1b5f2}, + {20, (const uint8_t *)"54979784887993251199", 0x49511de0, 0xcba8221c, 0xd6aa5616, 0x32476461}, + {20, (const uint8_t *)"58360544869206793220", 0x3db13bc1, 0x14643fda, 0x11e63098, 0xd917cf1a}, + {20, (const uint8_t *)"27347953487840714234", 0xbb899bea, 0x1604a006, 0xbe92385, 0x4ad14a12}, + {20, (const uint8_t *)"07650690295365319082", 0xf6cd9436, 0xb69f984c, 0x49511de0, 0xe37b5c6c}, + {20, (const uint8_t *)"42655507906821911703", 0x9109e6c3, 0xc43eead4, 0x3db13bc1, 0x7cc497f1}, + {20, (const uint8_t *)"29977409200786225655", 0x75770fc, 0x707751b, 0xbb899bea, 0x99781bb2}, + {20, (const uint8_t *)"85181542907229116674", 0x69b1d19b, 0xf5bdd5b3, 0xf6cd9436, 0x132256a1}, + {20, (const uint8_t *)"87963594337989416799", 0xc6132975, 0x2fed2db3, 0x9109e6c3, 0xbfdb2c83}, + {20, (const uint8_t *)"21395988329504168551", 0xd58cb00c, 0xc2a2b42a, 0x75770fc, 0x8d9d1e81}, + {20, (const uint8_t *)"51991013580943379423", 0xb63b8caa, 0xdf0590c0, 0x69b1d19b, 0x7b6d4404}, + {30, (const uint8_t *)"*]+@!);({_$;}[_},?{?;(_?,=-][@", 0x8a45a2b8, 0x1980aaf8, 0xc6132975, 0x8619f010}, + {30, (const uint8_t *)"_@:_).&(#.[:[{[:)$++-($_;@[)}+", 0xcbe95b78, 0xf58662c8, 0xd58cb00c, 0x15746ac3}, + {30, (const uint8_t *)"&[!,[$_==}+.]@!;*(+},[;:)$;)-@", 0x4ef8a54b, 0x1f65ac54, 0xb63b8caa, 0xaccf812f}, + {30, (const uint8_t *)"]{.[.+?+[[=;[?}_#&;[=)__$$:+=_", 0x76ad267a, 0x7b792e8e, 0x8a45a2b8, 0x78af45de}, + {30, (const uint8_t *)"-%.)=/[@].:.(:,()$;=%@-$?]{%+%", 0x569e613c, 0x1d61679c, 0xcbe95b78, 0x25b06b59}, + {30, (const uint8_t *)"+]#$(@&.=:,*];/.!]%/{:){:@(;)$", 0x36aa61da, 0x12ec687c, 0x4ef8a54b, 0x4ba0d08f}, + {30, (const uint8_t *)")-._.:?[&:.=+}(*$/=!.${;(=$@!}", 0xf67222df, 0x740329a9, 0x76ad267a, 0xe26b6aac}, + {30, (const uint8_t *)":(_*&%/[[}+,?#$&*+#[([*-/#;%(]", 0x74b34fd3, 0x374c5652, 0x569e613c, 0x7e2b0a66}, + {30, (const uint8_t *)"{[#-;:$/{)(+[}#]/{&!%(@)%:@-$:", 0x351fd770, 0xeadfde7e, 0x36aa61da, 0xb3430dc7}, + {30, (const uint8_t *)"_{$*,}(&,@.)):=!/%(&(,,-?$}}}!", 0xc45aef77, 0x3fcbf664, 0xf67222df, 0x626c17a}, + {100, (const uint8_t *)"e$98KNzqaV)Y:2X?]77].{gKRD4G5{mHZk,Z)SpU%L3FSgv!Wb8MLAFdi{+fp)c,@8m6v)yXg@]HBDFk?.4&}g5_udE*JHCiH=aL", 0xd034ea71, 0x6b080911, 0x74b34fd3, 0xccf98060}, + {100, (const uint8_t *)"r*Fd}ef+5RJQ;+W=4jTR9)R*p!B;]Ed7tkrLi;88U7g@3v!5pk2X6D)vt,.@N8c]@yyEcKi[vwUu@.Ppm@C6%Mv*3Nw}Y,58_aH)", 0xdeadc0de, 0x355fdf73, 0x351fd770, 0xd8b95312}, + {100, (const uint8_t *)"h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 0xba5eba11, 0xb48bd8d8, 0xc45aef77, 0xbb1c9912}, + {600, (const uint8_t *) + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&" + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&" + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&" + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&" + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&" + "h{bcmdC+a;t+Cf{6Y_dFq-{X4Yu&7uNfVDh?q&_u.UWJU],-GiH7ADzb7-V.Q%4=+v!$L9W+T=bP]$_:]Vyg}A.ygD.r;h-D]m%&", 0x0, 0xc3ab8aa, 0xc45aef77, 0x888afa5b}, + {5552, (const uint8_t *)long_string, 0x7712aa45, 0x7dc51be2, 0x0, 0x426fa73b}, + {32768, big_test, 0x0, 0xbfcdc3b1, 0x0, 0x217726b2}, + {16384, big_test, 0x0, 0x186ae1d1, 0x0, 0xe81722f0}, + {118960+512, big_test, 0x0, 0xf0d560c0, 0x0, 0xf0d2c66f}, + {615078, big_test, 0x0, 0xd153ca93, 0x0, 0x6a023677}, + {615142, big_test, 0x0, 0x68cafbf3, 0x0, 0x8a1b2fc5}, + {615270, big_test, 0x0, 0x343e28c2, 0x0, 0xaf836355}, + {615302, big_test, 0x0, 0x34883772, 0x0, 0x42e83c6c}, + {615318, big_test, 0x0, 0xf5ad404a, 0x0, 0x563bcb26}, + {615326, big_test, 0x0, 0x0d964516, 0x0, 0xd39dea79}, + {615330, big_test, 0x0, 0x28334794, 0x0, 0xec355488}, + {615334, big_test, 0x0, 0x4cf04a22, 0x0, 0x391ab77c}, + {615335, big_test, 0x0, 0x97b84ac8, 0x0, 0xb43dcef0}, + {615336, big_test, 0x0, 0xe3274b6f, 0x0, 0x27b91614}, +}; + +#endif /* HASH_TEST_STRINGS_P_H */ diff --git a/neozip/test/infcover.c b/neozip/test/infcover.c new file mode 100644 index 0000000000..582feaebd6 --- /dev/null +++ b/neozip/test/infcover.c @@ -0,0 +1,683 @@ +/* infcover.c -- test zlib's inflate routines with full code coverage + * Copyright (C) 2011, 2016 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* to use, do: ./configure --cover && make cover */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#undef NDEBUG +#include <assert.h> +#include <inttypes.h> + +/* get definition of internal structure so we can mess with it (see pull()), + and so we can call inflate_trees() (see cover5()) */ +#include "zbuild.h" +#include "zutil.h" +#include "inftrees.h" +#include "inflate.h" + +/* -- memory tracking routines -- */ + +/* + These memory tracking routines are provided to zlib and track all of zlib's + allocations and deallocations, check for LIFO operations, keep a current + and high water mark of total bytes requested, optionally set a limit on the + total memory that can be allocated, and when done check for memory leaks. + + They are used as follows: + + PREFIX3(stream) strm; + mem_setup(&strm) initializes the memory tracking and sets the + zalloc, zfree, and opaque members of strm to use + memory tracking for all zlib operations on strm + mem_limit(&strm, limit) sets a limit on the total bytes requested -- a + request that exceeds this limit will result in an + allocation failure (returns NULL) -- setting the + limit to zero means no limit, which is the default + after mem_setup() + mem_used(&strm, "msg") prints to stderr "msg" and the total bytes used + mem_high(&strm, "msg") prints to stderr "msg" and the high water mark + mem_done(&strm, "msg") ends memory tracking, releases all allocations + for the tracking as well as leaked zlib blocks, if + any. If there was anything unusual, such as leaked + blocks, non-FIFO frees, or frees of addresses not + allocated, then "msg" and information about the + problem is printed to stderr. If everything is + normal, nothing is printed. mem_done resets the + strm members to NULL to use the default memory + allocation routines on the next zlib initialization + using strm. + */ + +/* these items are strung together in a linked list, one for each allocation */ +struct mem_item { + void *ptr; /* pointer to allocated memory */ + size_t size; /* requested size of allocation */ + struct mem_item *next; /* pointer to next item in list, or NULL */ +}; + +/* this structure is at the root of the linked list, and tracks statistics */ +struct mem_zone { + struct mem_item *first; /* pointer to first item in list, or NULL */ + size_t total, highwater; /* total allocations, and largest total */ + size_t limit; /* memory allocation limit, or 0 if no limit */ + int notlifo, rogue; /* counts of non-LIFO frees and rogue frees */ +}; + +/* memory allocation routine to pass to zlib */ +static void *mem_alloc(void *mem, unsigned count, unsigned size) { + void *ptr; + struct mem_item *item; + struct mem_zone *zone = mem; + size_t len = count * (size_t)size; + + /* induced allocation failure */ + if (zone == NULL || (zone->limit && zone->total + len > zone->limit)) + return NULL; + + /* perform allocation using the standard library, fill memory with a + non-zero value to make sure that the code isn't depending on zeros */ + ptr = malloc(len); + if (ptr == NULL) + return NULL; + memset(ptr, 0xa5, len); + + /* create a new item for the list */ + item = malloc(sizeof(struct mem_item)); + if (item == NULL) { + free(ptr); + return NULL; + } + item->ptr = ptr; + item->size = len; + + /* insert item at the beginning of the list */ + item->next = zone->first; + zone->first = item; + + /* update the statistics */ + zone->total += item->size; + if (zone->total > zone->highwater) + zone->highwater = zone->total; + + /* return the allocated memory */ + return ptr; +} + +/* memory free routine to pass to zlib */ +static void mem_free(void *mem, void *ptr) { + struct mem_item *item, *next; + struct mem_zone *zone = mem; + + /* if no zone, just do a free */ + if (zone == NULL) { + free(ptr); + return; + } + + /* point next to the item that matches ptr, or NULL if not found -- remove + the item from the linked list if found */ + next = zone->first; + if (next) { + if (next->ptr == ptr) + zone->first = next->next; /* first one is it, remove from list */ + else { + do { /* search the linked list */ + item = next; + next = item->next; + } while (next != NULL && next->ptr != ptr); + if (next) { /* if found, remove from linked list */ + item->next = next->next; + zone->notlifo++; /* not a LIFO free */ + } + + } + } + + /* if found, update the statistics and free the item */ + if (next) { + zone->total -= next->size; + free(next); + } + + /* if not found, update the rogue count */ + else + zone->rogue++; + + /* in any case, do the requested free with the standard library function */ + free(ptr); +} + +/* set up a controlled memory allocation space for monitoring, set the stream + parameters to the controlled routines, with opaque pointing to the space */ +static void mem_setup(PREFIX3(stream) *strm) { + struct mem_zone *zone; + + zone = malloc(sizeof(struct mem_zone)); + assert(zone != NULL); + zone->first = NULL; + zone->total = 0; + zone->highwater = 0; + zone->limit = 0; + zone->notlifo = 0; + zone->rogue = 0; + strm->opaque = zone; + strm->zalloc = mem_alloc; + strm->zfree = mem_free; +} + +/* set a limit on the total memory allocation, or 0 to remove the limit */ +static void mem_limit(PREFIX3(stream) *strm, size_t limit) { + struct mem_zone *zone = strm->opaque; + + zone->limit = limit; +} + +/* show the current total requested allocations in bytes */ +static void mem_used(PREFIX3(stream) *strm, char *prefix) { + struct mem_zone *zone = strm->opaque; + + fprintf(stderr, "%s: %" PRIu64 " allocated\n", prefix, (uint64_t)zone->total); +} + +/* show the high water allocation in bytes */ +static void mem_high(PREFIX3(stream) *strm, char *prefix) { + struct mem_zone *zone = strm->opaque; + + fprintf(stderr, "%s: %" PRIu64 " high water mark\n", prefix, (uint64_t)zone->highwater); +} + +/* release the memory allocation zone -- if there are any surprises, notify */ +static void mem_done(PREFIX3(stream) *strm, char *prefix) { + int count = 0; + struct mem_item *item, *next; + struct mem_zone *zone = strm->opaque; + + /* show high water mark */ + mem_high(strm, prefix); + + /* free leftover allocations and item structures, if any */ + item = zone->first; + while (item != NULL) { + free(item->ptr); + next = item->next; + free(item); + item = next; + count++; + } + + /* issue alerts about anything unexpected */ + if (count || zone->total) + fprintf(stderr, "** %s: %" PRIu64 " bytes in %d blocks not freed\n", + prefix, (uint64_t)zone->total, count); + if (zone->notlifo) + fprintf(stderr, "** %s: %d frees not LIFO\n", prefix, zone->notlifo); + if (zone->rogue) + fprintf(stderr, "** %s: %d frees not recognized\n", + prefix, zone->rogue); + + /* free the zone and delete from the stream */ + free(zone); + strm->opaque = NULL; + strm->zalloc = NULL; + strm->zfree = NULL; +} + +/* -- inflate test routines -- */ + +/* Decode a hexadecimal string, set *len to length, in[] to the bytes. This + decodes liberally, in that hex digits can be adjacent, in which case two in + a row writes a byte. Or they can be delimited by any non-hex character, + where the delimiters are ignored except when a single hex digit is followed + by a delimiter, where that single digit writes a byte. The returned data is + allocated and must eventually be freed. NULL is returned if out of memory. + If the length is not needed, then len can be NULL. */ +static unsigned char *h2b(const char *hex, unsigned *len) { + unsigned char *in, *re; + unsigned next, val; + size_t inlen; + + inlen = (strlen(hex) + 1) >> 1; + assert(inlen != 0); /* tell static analyzer we won't call malloc(0) */ + in = malloc(inlen); + if (in == NULL) + return NULL; + next = 0; + val = 1; + do { + if (*hex >= '0' && *hex <= '9') + val = (val << 4) + *hex - '0'; + else if (*hex >= 'A' && *hex <= 'F') + val = (val << 4) + *hex - 'A' + 10; + else if (*hex >= 'a' && *hex <= 'f') + val = (val << 4) + *hex - 'a' + 10; + else if (val != 1 && val < 32) /* one digit followed by delimiter */ + val += 240; /* make it look like two digits */ + if (val > 255) { /* have two digits */ + in[next++] = val & 0xff; /* save the decoded byte */ + val = 1; /* start over */ + } + } while (*hex++); /* go through the loop with the terminating null */ + if (len != NULL) + *len = next; + assert(next != 0); /* tell static analyzer we won't call realloc(in, 0) */ + re = realloc(in, next); + return re == NULL ? in : re; +} + +/* generic inflate() run, where hex is the hexadecimal input data, what is the + text to include in an error message, step is how much input data to feed + inflate() on each call, or zero to feed it all, win is the window bits + parameter to inflateInit2(), len is the size of the output buffer, and err + is the error code expected from the first inflate() call (the second + inflate() call is expected to return Z_STREAM_END). If win is 47, then + header information is collected with inflateGetHeader(). If a zlib stream + is looking for a dictionary, then an empty dictionary is provided. + inflate() is run until all of the input data is consumed. */ +static void inf(char *hex, char *what, unsigned step, int win, unsigned len, int err) { + int ret; + unsigned have; + unsigned char *in, *out; + PREFIX3(stream) strm, copy; + PREFIX(gz_header) head; + + mem_setup(&strm); + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit2)(&strm, win); + if (ret != Z_OK) { + mem_done(&strm, what); + return; + } + out = malloc(len); assert(out != NULL); + if (win == 47) { + head.extra = out; + head.extra_max = len; + head.name = out; + head.name_max = len; + head.comment = out; + head.comm_max = len; + ret = PREFIX(inflateGetHeader)(&strm, &head); + assert(ret == Z_OK); + } + in = h2b(hex, &have); assert(in != NULL); + if (step == 0 || step > have) + step = have; + strm.avail_in = step; + have -= step; + strm.next_in = in; + do { + strm.avail_out = len; + strm.next_out = out; + ret = PREFIX(inflate)(&strm, Z_NO_FLUSH); + assert(err == 9 || ret == err); + if (ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_NEED_DICT) + break; + if (ret == Z_NEED_DICT) { + ret = PREFIX(inflateSetDictionary)(&strm, in, 1); + assert(ret == Z_DATA_ERROR); + mem_limit(&strm, 0); + ((struct inflate_state *)strm.state)->mode = DICT; + ret = PREFIX(inflateSetDictionary)(&strm, out, 0); + assert(ret == Z_OK); + ret = PREFIX(inflate)(&strm, Z_NO_FLUSH); + assert(ret == Z_BUF_ERROR); + } + ret = PREFIX(inflateCopy)(©, &strm); + assert(ret == Z_OK); + ret = PREFIX(inflateEnd)(©); assert(ret == Z_OK); + err = 9; /* don't care next time around */ + have += strm.avail_in; + strm.avail_in = MIN(step, have); + have -= strm.avail_in; + } while (strm.avail_in); + free(in); + free(out); + ret = PREFIX(inflateReset2)(&strm, -8); assert(ret == Z_OK); + ret = PREFIX(inflateEnd)(&strm); assert(ret == Z_OK); + mem_done(&strm, what); + Z_UNUSED(err); +} + +/* cover all of the lines in inflate.c up to inflate() */ +static void cover_support(void) { + int ret; + PREFIX3(stream) strm; + + mem_setup(&strm); + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit)(&strm); assert(ret == Z_OK); + mem_used(&strm, "inflate init"); + ret = PREFIX(inflatePrime)(&strm, 5, 31); assert(ret == Z_OK); + ret = PREFIX(inflatePrime)(&strm, -1, 0); assert(ret == Z_OK); + ret = PREFIX(inflateSetDictionary)(&strm, NULL, 0); + assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateEnd)(&strm); assert(ret == Z_OK); + mem_done(&strm, "prime"); + + inf("63 0", "force window allocation", 0, -15, 1, Z_OK); + inf("63 18 5", "force window replacement", 0, -8, 259, Z_OK); + inf("63 18 68 30 d0 0 0", "force split window update", 4, -8, 259, Z_OK); + inf("3 0", "use fixed blocks", 0, -15, 1, Z_STREAM_END); + inf("", "bad window size", 0, 1, 0, Z_STREAM_ERROR); + +#ifdef ZLIB_COMPAT + mem_setup(&strm); + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit_)(&strm, &PREFIX2(VERSION)[1], (int)sizeof(PREFIX3(stream))); + assert(ret == Z_VERSION_ERROR); + mem_done(&strm, "wrong version"); +#endif + + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit)(&strm); assert(ret == Z_OK); + ret = PREFIX(inflateEnd)(&strm); assert(ret == Z_OK); + fputs("inflate built-in memory routines\n", stderr); + Z_UNUSED(ret); +} + +/* cover all inflate() header and trailer cases and code after inflate() */ +static void cover_wrap(void) { + int ret; + PREFIX3(stream) strm, copy; + unsigned char dict[257]; + + ret = PREFIX(inflate)(NULL, 0); assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateEnd)(NULL); assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateCopy)(NULL, NULL); assert(ret == Z_STREAM_ERROR); + fputs("inflate bad parameters\n", stderr); + + inf("1f 8b 0 0", "bad gzip method", 0, 31, 0, Z_DATA_ERROR); + inf("1f 8b 8 80", "bad gzip flags", 0, 31, 0, Z_DATA_ERROR); + inf("77 85", "bad zlib method", 0, 15, 0, Z_DATA_ERROR); + inf("8 99", "set window size from header", 0, 0, 0, Z_OK); + inf("78 9c", "bad zlib window size", 0, 8, 0, Z_DATA_ERROR); + inf("78 9c 63 0 0 0 1 0 1", "check adler32", 0, 15, 1, Z_STREAM_END); + inf("1f 8b 8 1e 0 0 0 0 0 0 1 0 0 0 0 0 0", "bad header crc", 0, 47, 1, + Z_DATA_ERROR); + inf("1f 8b 8 2 0 0 0 0 0 0 1d 26 3 0 0 0 0 0 0 0 0 0", "check gzip length", + 0, 47, 0, Z_STREAM_END); + inf("78 90", "bad zlib header check", 0, 47, 0, Z_DATA_ERROR); + inf("8 b8 0 0 0 1", "need dictionary", 0, 8, 0, Z_NEED_DICT); + inf("78 9c 63 0", "compute adler32", 0, 15, 1, Z_OK); + + mem_setup(&strm); + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit2)(&strm, -8); + strm.avail_in = 2; + strm.next_in = (void *)"\x63"; + strm.avail_out = 1; + strm.next_out = (void *)&ret; + memset(dict, 0, 257); + ret = PREFIX(inflateSetDictionary)(&strm, dict, 257); + assert(ret == Z_OK); + mem_limit(&strm, (sizeof(struct inflate_state) << 1) + 256); + ret = PREFIX(inflatePrime)(&strm, 16, 0); assert(ret == Z_OK); + strm.avail_in = 2; + strm.next_in = (void *)"\x80"; + ret = PREFIX(inflateSync)(&strm); assert(ret == Z_DATA_ERROR); + ret = PREFIX(inflate)(&strm, Z_NO_FLUSH); assert(ret == Z_STREAM_ERROR); + strm.avail_in = 4; + strm.next_in = (void *)"\0\0\xff\xff"; + ret = PREFIX(inflateSync)(&strm); assert(ret == Z_OK); + (void)PREFIX(inflateSyncPoint)(&strm); + ret = PREFIX(inflateCopy)(©, &strm); assert(ret == Z_MEM_ERROR); + mem_limit(&strm, 0); + ret = PREFIX(inflateUndermine)(&strm, 1); +#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR + assert(ret == Z_OK); +#else + assert(ret == Z_DATA_ERROR); +#endif + (void)PREFIX(inflateMark)(&strm); + ret = PREFIX(inflateEnd)(&strm); assert(ret == Z_OK); + mem_done(&strm, "miscellaneous, force memory errors"); +} + +/* input and output functions for inflateBack() */ +static z_uint32_t pull(void *desc, z_const unsigned char **buf) { + static unsigned int next = 0; + static unsigned char dat[] = {0x63, 0, 2, 0}; + struct inflate_state *state; + + if (desc == NULL) { + next = 0; + return 0; /* no input (already provided at next_in) */ + } + state = (void *)((PREFIX3(stream) *)desc)->state; + if (state != NULL) + state->mode = SYNC; /* force an otherwise impossible situation */ + return next < sizeof(dat) ? (*buf = dat + next++, 1) : 0; +} + +static z_int32_t push(void *desc, unsigned char *buf, z_uint32_t len) { + buf += len; + Z_UNUSED(buf); + return desc != NULL; /* force error if desc not null */ +} + +/* cover inflateBack() up to common deflate data cases and after those */ +static void cover_back(void) { + int ret; + PREFIX3(stream) strm; + unsigned char win[32768]; + +#ifdef ZLIB_COMPAT + ret = PREFIX(inflateBackInit_)(NULL, 0, win, 0, 0); + assert(ret == Z_VERSION_ERROR); +#endif + + ret = PREFIX(inflateBackInit)(NULL, 0, win); + assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateBack)(NULL, NULL, NULL, NULL, NULL); + assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateBackEnd)(NULL); assert(ret == Z_STREAM_ERROR); + fputs("inflateBack bad parameters\n", stderr); + + mem_setup(&strm); + ret = PREFIX(inflateBackInit)(&strm, 15, win); + assert(ret == Z_OK); + strm.avail_in = 2; + strm.next_in = (void *)"\x03"; + ret = PREFIX(inflateBack)(&strm, pull, NULL, push, NULL); + assert(ret == Z_STREAM_END); + /* force output error */ + strm.avail_in = 3; + strm.next_in = (void *)"\x63\x00"; + ret = PREFIX(inflateBack)(&strm, pull, NULL, push, &strm); + assert(ret == Z_BUF_ERROR); + /* force mode error by mucking with state */ + ret = PREFIX(inflateBack)(&strm, pull, &strm, push, NULL); + assert(ret == Z_STREAM_ERROR); + ret = PREFIX(inflateBackEnd)(&strm); assert(ret == Z_OK); + mem_done(&strm, "inflateBack bad state"); + + ret = PREFIX(inflateBackInit)(&strm, 15, win); + assert(ret == Z_OK); + ret = PREFIX(inflateBackEnd)(&strm); assert(ret == Z_OK); + fputs("inflateBack built-in memory routines\n", stderr); + Z_UNUSED(ret); +} + +/* do a raw inflate of data in hexadecimal with both inflate and inflateBack */ +static int try(char *hex, char *id, int err) { + int ret; + unsigned len, size; + unsigned char *in, *out, *win; + char *prefix; + PREFIX3(stream) strm; + + /* convert to hex */ + in = h2b(hex, &len); + assert(in != NULL); + + /* allocate work areas */ + size = len << 3; + out = malloc(size); + assert(out != NULL); + win = malloc(32768); + assert(win != NULL); + prefix = malloc(strlen(id) + 6); + assert(prefix != NULL); + + /* first with inflate */ + strcpy(prefix, id); + strcat(prefix, "-late"); + mem_setup(&strm); + strm.avail_in = 0; + strm.next_in = NULL; + ret = PREFIX(inflateInit2)(&strm, err < 0 ? 47 : -15); + assert(ret == Z_OK); + strm.avail_in = len; + strm.next_in = in; + do { + strm.avail_out = size; + strm.next_out = out; + ret = PREFIX(inflate)(&strm, Z_TREES); + assert(ret != Z_STREAM_ERROR && ret != Z_MEM_ERROR); + if (ret == Z_DATA_ERROR || ret == Z_NEED_DICT) + break; + } while (strm.avail_in || strm.avail_out == 0); + if (err) { + assert(ret == Z_DATA_ERROR); + assert(strcmp(id, strm.msg) == 0); + } + PREFIX(inflateEnd)(&strm); + mem_done(&strm, prefix); + + /* then with inflateBack */ + if (err >= 0) { + strcpy(prefix, id); + strcat(prefix, "-back"); + mem_setup(&strm); + ret = PREFIX(inflateBackInit)(&strm, 15, win); + assert(ret == Z_OK); + strm.avail_in = len; + strm.next_in = in; + ret = PREFIX(inflateBack)(&strm, pull, NULL, push, NULL); + assert(ret != Z_STREAM_ERROR); + if (err && ret != Z_BUF_ERROR) { + assert(ret == Z_DATA_ERROR); + assert(strcmp(id, strm.msg) == 0); + } + PREFIX(inflateBackEnd)(&strm); + mem_done(&strm, prefix); + } + + /* clean up */ + free(prefix); + free(win); + free(out); + free(in); + return ret; +} + +/* cover deflate data cases in both inflate() and inflateBack() */ +static void cover_inflate(void) { + try("0 0 0 0 0", "invalid stored block lengths", 1); + try("3 0", "fixed", 0); + try("6", "invalid block type", 1); + try("1 1 0 fe ff 0", "stored", 0); + try("fc 0 0", "too many length or distance symbols", 1); + try("4 0 fe ff", "invalid code lengths set", 1); + try("4 0 24 49 0", "invalid bit length repeat", 1); + try("4 0 24 e9 ff ff", "invalid bit length repeat", 1); + try("4 0 24 e9 ff 6d", "invalid code -- missing end-of-block", 1); + try("4 80 49 92 24 49 92 24 71 ff ff 93 11 0", + "invalid literal/lengths set", 1); + try("4 80 49 92 24 49 92 24 f b4 ff ff c3 84", "invalid distances set", 1); + try("4 c0 81 8 0 0 0 0 20 7f eb b 0 0", "invalid literal/length code", 1); + try("2 7e ff ff", "invalid distance code", 1); +#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR + try("c c0 81 0 0 0 0 0 90 ff 6b 4 0", "invalid distance too far back", 0); +#else + try("c c0 81 0 0 0 0 0 90 ff 6b 4 0", "invalid distance too far back", 1); +#endif + + /* also trailer mismatch just in inflate() */ + try("1f 8b 8 0 0 0 0 0 0 0 3 0 0 0 0 1", "incorrect data check", -1); + try("1f 8b 8 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 1", + "incorrect length check", -1); + try("5 c0 21 d 0 0 0 80 b0 fe 6d 2f 91 6c", "pull 17", 0); + try("5 e0 81 91 24 cb b2 2c 49 e2 f 2e 8b 9a 47 56 9f fb fe ec d2 ff 1f", + "long code", 0); + try("ed c0 1 1 0 0 0 40 20 ff 57 1b 42 2c 4f", "length extra", 0); + try("ed cf c1 b1 2c 47 10 c4 30 fa 6f 35 1d 1 82 59 3d fb be 2e 2a fc f c", + "long distance and extra", 0); + try("ed c0 81 0 0 0 0 80 a0 fd a9 17 a9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6", "window end", 0); + inf("2 8 20 80 0 3 0", "inflate_fast TYPE return", 0, -15, 258, + Z_STREAM_END); + inf("63 18 5 40 c 0", "window wrap", 3, -8, 300, Z_OK); +} + +#ifndef TEST_STOCK_ZLIB +/* cover remaining lines in inftrees.c */ +static void cover_trees(void) { + int ret; + unsigned bits; + uint16_t lens[16], work[16]; + code *next, table[ENOUGH_DISTS]; + + /* we need to call inflate_table() directly in order to manifest not- + enough errors, since zlib ensures that enough is always enough */ + for (bits = 0; bits < 15; bits++) + lens[bits] = (uint16_t)(bits + 1); + lens[15] = 15; + next = table; + bits = 15; + ret = zng_inflate_table(DISTS, lens, 16, &next, &bits, work); + assert(ret == 1); + next = table; + bits = 1; + ret = zng_inflate_table(DISTS, lens, 16, &next, &bits, work); + assert(ret == 1); + fputs("inflate_table not enough errors\n", stderr); + Z_UNUSED(ret); +} +#endif + +/* cover remaining inffast.c decoding and window copying */ +static void cover_fast(void) { + inf("e5 e0 81 ad 6d cb b2 2c c9 01 1e 59 63 ae 7d ee fb 4d fd b5 35 41 68" + " ff 7f 0f 0 0 0", "fast length extra bits", 0, -8, 258, Z_DATA_ERROR); + inf("25 fd 81 b5 6d 59 b6 6a 49 ea af 35 6 34 eb 8c b9 f6 b9 1e ef 67 49" + " 50 fe ff ff 3f 0 0", "fast distance extra bits", 0, -8, 258, + Z_DATA_ERROR); + inf("3 7e 0 0 0 0 0", "fast invalid distance code", 0, -8, 258, + Z_DATA_ERROR); + inf("1b 7 0 0 0 0 0", "fast invalid literal/length code", 0, -8, 258, + Z_DATA_ERROR); + inf("d c7 1 ae eb 38 c 4 41 a0 87 72 de df fb 1f b8 36 b1 38 5d ff ff 0", + "fast 2nd level codes and too far back", 0, -8, 258, Z_DATA_ERROR); + inf("63 18 5 8c 10 8 0 0 0 0", "very common case", 0, -8, 259, Z_OK); + inf("63 60 60 18 c9 0 8 18 18 18 26 c0 28 0 29 0 0 0", + "contiguous and wrap around window", 6, -8, 259, Z_OK); + inf("63 0 3 0 0 0 0 0", "copy direct from output", 0, -8, 259, + Z_STREAM_END); +} + +static void cover_cve_2022_37434(void) { + inf("1f 8b 08 04 61 62 63 64 61 62 52 51 1f 8b 08 04 61 62 63 64 61 62 52 51 1f 8b 08 04 61 62 63 64 61 62 52 51 1f 8b 08 04 61 62 63 64 61 62 52 51", "wtf", 13, 47, 12, Z_OK); +} + +int main(void) { + fprintf(stderr, "%s\n", zVersion()); + cover_support(); + cover_wrap(); + cover_back(); + cover_inflate(); +#ifndef TEST_STOCK_ZLIB + cover_trees(); +#endif + cover_fast(); + cover_cve_2022_37434(); + return 0; +} diff --git a/neozip/test/minideflate.c b/neozip/test/minideflate.c new file mode 100644 index 0000000000..ab8dc5313c --- /dev/null +++ b/neozip/test/minideflate.c @@ -0,0 +1,368 @@ +/* minideflate.c -- test deflate/inflate under specific conditions + * Copyright (C) 2020 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include "zbuild.h" + +#include <inttypes.h> +#include <stdio.h> +#include <assert.h> + +#include "zutil.h" + +#if defined(_WIN32) || defined(__CYGWIN__) +# include <fcntl.h> +# include <io.h> +# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) +#else +# define SET_BINARY_MODE(file) +#endif + +#ifdef _MSC_VER +# include <string.h> +# define strcasecmp _stricmp +#else +# include <strings.h> +#endif + +#define CHECK_ERR(err, msg) { \ + if (err != Z_OK) { \ + fprintf(stderr, "%s error: %d\n", msg, err); \ + exit(1); \ + } \ +} + +/* Default read/write i/o buffer size based on GZBUFSIZE */ +#define BUFSIZE 131072 + +/* =========================================================================== + * deflate() using specialized parameters + */ +static void deflate_params(FILE *fin, FILE *fout, int32_t read_buf_size, int32_t write_buf_size, int32_t level, + int32_t window_bits, int32_t mem_level, int32_t strategy, int32_t flush) { + PREFIX3(stream) c_stream; /* compression stream */ + uint8_t *read_buf; + uint8_t *write_buf; + int32_t read; + int err; + + read_buf = (uint8_t *)malloc(read_buf_size); + if (read_buf == NULL) { + fprintf(stderr, "failed to create read buffer (%" PRId32 ")\n", read_buf_size); + return; + } + write_buf = (uint8_t *)malloc(write_buf_size); + if (write_buf == NULL) { + fprintf(stderr, "failed to create write buffer (%" PRId32 ")\n", write_buf_size); + free(read_buf); + return; + } + + c_stream.zalloc = NULL; + c_stream.zfree = NULL; + c_stream.opaque = (void *)0; + c_stream.total_in = 0; + c_stream.total_out = 0; + c_stream.next_out = write_buf; + c_stream.avail_out = write_buf_size; + + err = PREFIX(deflateInit2)(&c_stream, level, Z_DEFLATED, window_bits, mem_level, strategy); + CHECK_ERR(err, "deflateInit2"); + + /* Process input using our read buffer and flush type, + * output to stdout only once write buffer is full */ + do { + read = (int32_t)fread(read_buf, 1, read_buf_size, fin); + if (read <= 0) + break; + + c_stream.next_in = (z_const uint8_t *)read_buf; + c_stream.avail_in = read; + + do { + err = PREFIX(deflate)(&c_stream, flush); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + + if (c_stream.next_out == write_buf + write_buf_size) { + fwrite(write_buf, 1, write_buf_size, fout); + c_stream.next_out = write_buf; + c_stream.avail_out = write_buf_size; + } + } while (c_stream.next_in < read_buf + read); + } while (err == Z_OK); + + /* Finish the stream if necessary */ + if (flush != Z_FINISH) { + c_stream.avail_in = 0; + do { + if (c_stream.next_out == write_buf + write_buf_size) { + fwrite(write_buf, 1, write_buf_size, fout); + c_stream.next_out = write_buf; + c_stream.avail_out = write_buf_size; + } + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "deflate"); + } while (1); + } + + /* Output remaining data in write buffer */ + if (c_stream.next_out != write_buf) { + fwrite(write_buf, 1, c_stream.next_out - write_buf, fout); + } + + err = PREFIX(deflateEnd)(&c_stream); + CHECK_ERR(err, "deflateEnd"); + + free(read_buf); + free(write_buf); +} + +/* =========================================================================== + * inflate() using specialized parameters + */ +static void inflate_params(FILE *fin, FILE *fout, int32_t read_buf_size, int32_t write_buf_size, int32_t window_bits, + int32_t flush) { + PREFIX3(stream) d_stream; /* decompression stream */ + uint8_t *read_buf; + uint8_t *write_buf; + int32_t read; + int err; + + + read_buf = (uint8_t *)malloc(read_buf_size); + if (read_buf == NULL) { + fprintf(stderr, "failed to create read buffer (%" PRId32 ")\n", read_buf_size); + return; + } + write_buf = (uint8_t *)malloc(write_buf_size); + if (write_buf == NULL) { + fprintf(stderr, "failed to create write buffer (%" PRId32 ")\n", write_buf_size); + free(read_buf); + return; + } + + d_stream.zalloc = NULL; + d_stream.zfree = NULL; + d_stream.opaque = (void *)0; + d_stream.total_in = 0; + d_stream.total_out = 0; + d_stream.next_out = write_buf; + d_stream.avail_out = write_buf_size; + + err = PREFIX(inflateInit2)(&d_stream, window_bits); + CHECK_ERR(err, "inflateInit2"); + + /* Process input using our read buffer and flush type, + * output to stdout only once write buffer is full */ + do { + read = (int32_t)fread(read_buf, 1, read_buf_size, fin); + if (read <= 0) + break; + + d_stream.next_in = (z_const uint8_t *)read_buf; + d_stream.avail_in = read; + + do { + err = PREFIX(inflate)(&d_stream, flush); + + /* Ignore Z_BUF_ERROR if we are finishing and read buffer size is + * purposefully limited */ + if (flush == Z_FINISH && err == Z_BUF_ERROR && read_buf_size != BUFSIZE) + err = Z_OK; + + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "inflate"); + + if (d_stream.next_out == write_buf + write_buf_size) { + fwrite(write_buf, 1, write_buf_size, fout); + d_stream.next_out = write_buf; + d_stream.avail_out = write_buf_size; + } + } while (d_stream.next_in < read_buf + read); + } while (err == Z_OK); + + /* Finish the stream if necessary */ + if (flush != Z_FINISH) { + d_stream.avail_in = 0; + do { + if (d_stream.next_out == write_buf + write_buf_size) { + fwrite(write_buf, 1, write_buf_size, fout); + d_stream.next_out = write_buf; + d_stream.avail_out = write_buf_size; + } + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + CHECK_ERR(err, "inflate"); + } while (1); + } + + /* Output remaining data in write buffer */ + if (d_stream.next_out != write_buf) { + fwrite(write_buf, 1, d_stream.next_out - write_buf, fout); + } + + err = PREFIX(inflateEnd)(&d_stream); + CHECK_ERR(err, "inflateEnd"); + + free(read_buf); + free(write_buf); +} + +static void show_help(void) { + printf("Usage: minideflate [-c][-d][-k] [-f|-h|-R|-F] [-m level] [-r/-t size] [-s flush] [-w bits] [-0 to -9] [input file]\n\n" + " -c : write to standard output\n" + " -d : decompress\n" + " -k : keep input file\n" + " -f : compress with Z_FILTERED\n" + " -h : compress with Z_HUFFMAN_ONLY\n" + " -R : compress with Z_RLE\n" + " -F : compress with Z_FIXED\n" + " -m : memory level (1 to 8)\n" + " -w : window bits..\n" + " : -1 to -15 for raw deflate\n" + " : 0 to 15 for deflate (adler32)\n" + " : 16 to 31 for gzip (crc32)\n" + " -s : flush type (0 to 5)\n" + " -r : read buffer size\n" + " -t : write buffer size\n" + " -0 to -9 : compression level\n\n"); +} + +int main(int argc, char **argv) { + int32_t i; + int32_t mem_level = DEF_MEM_LEVEL; + int32_t window_bits = INT32_MAX; + int32_t strategy = Z_DEFAULT_STRATEGY; + int32_t level = Z_DEFAULT_COMPRESSION; + int32_t read_buf_size = BUFSIZE; + int32_t write_buf_size = BUFSIZE; + int32_t flush = Z_NO_FLUSH; + uint8_t copyout = 0; + uint8_t uncompr = 0; + uint8_t keep = 0; + FILE *fin = stdin; + FILE *fout = stdout; + + + if (argc == 1) { + show_help(); + return 64; /* EX_USAGE */ + } + + for (i = 1; i < argc; i++) { + if ((strcmp(argv[i], "-m") == 0) && (i + 1 < argc)) + mem_level = atoi(argv[++i]); + else if ((strcmp(argv[i], "-w") == 0) && (i + 1 < argc)) + window_bits = atoi(argv[++i]); + else if ((strcmp(argv[i], "-r") == 0) && (i + 1 < argc)) + read_buf_size = atoi(argv[++i]); + else if ((strcmp(argv[i], "-t") == 0) && (i + 1 < argc)) + write_buf_size = atoi(argv[++i]); + else if ((strcmp(argv[i], "-s") == 0) && (i + 1 < argc)) + flush = atoi(argv[++i]); + else if (strcmp(argv[i], "-c") == 0) + copyout = 1; + else if (strcmp(argv[i], "-d") == 0) + uncompr = 1; + else if (strcmp(argv[i], "-k") == 0) + keep = 1; + else if (strcmp(argv[i], "-f") == 0) + strategy = Z_FILTERED; + else if (strcmp(argv[i], "-F") == 0) + strategy = Z_FIXED; + else if (strcmp(argv[i], "-h") == 0) + strategy = Z_HUFFMAN_ONLY; + else if (strcmp(argv[i], "-R") == 0) + strategy = Z_RLE; + else if (argv[i][0] == '-' && argv[i][1] >= '0' && argv[i][1] <= '9' && argv[i][2] == 0) + level = argv[i][1] - '0'; + else if (strcmp(argv[i], "--help") == 0) { + show_help(); + return 0; + } else if (argv[i][0] == '-') { + show_help(); + return 64; /* EX_USAGE */ + } else + break; + } + + SET_BINARY_MODE(stdin); + SET_BINARY_MODE(stdout); + + if (i != argc) { + fin = fopen(argv[i], "rb+"); + if (fin == NULL) { + fprintf(stderr, "Failed to open file: %s\n", argv[i]); + exit(1); + } + if (!copyout) { + char *out_file = (char *)calloc(1, strlen(argv[i]) + 6); + if (out_file == NULL) { + fprintf(stderr, "Not enough memory\n"); + exit(1); + } + strcat(out_file, argv[i]); + if (!uncompr) { + if (window_bits < 0) { + strcat(out_file, ".zraw"); + } else if (window_bits > MAX_WBITS) { + strcat(out_file, ".gz"); + } else { + strcat(out_file, ".z"); + } + } else { + char *out_ext = strrchr(out_file, '.'); + if (out_ext != NULL) { + if (strcasecmp(out_ext, ".zraw") == 0 && window_bits == INT32_MAX) { + fprintf(stderr, "Must specify window bits for raw deflate stream\n"); + exit(1); + } + *out_ext = 0; + } + } + fout = fopen(out_file, "wb"); + if (fout == NULL) { + fprintf(stderr, "Failed to open file: %s\n", out_file); + exit(1); + } + free(out_file); + } + } + + if (window_bits == INT32_MAX) { + window_bits = MAX_WBITS; + /* Auto-detect wrapper for inflateInit */ + if (uncompr) + window_bits += 32; + } + + if (window_bits == INT32_MAX) { + window_bits = MAX_WBITS; + /* Auto-detect wrapper for inflateInit */ + if (uncompr) + window_bits += 32; + } + + if (uncompr) { + inflate_params(fin, fout, read_buf_size, write_buf_size, window_bits, flush); + } else { + deflate_params(fin, fout, read_buf_size, write_buf_size, level, window_bits, mem_level, strategy, flush); + } + + if (fin != stdin) { + fclose(fin); + if (!copyout && !keep) { + unlink(argv[i]); + } + } + if (fout != stdout) { + fclose(fout); + } + + return 0; +} diff --git a/neozip/test/minigzip.c b/neozip/test/minigzip.c new file mode 100644 index 0000000000..9f86018a6b --- /dev/null +++ b/neozip/test/minigzip.c @@ -0,0 +1,368 @@ +/* minigzip.c -- simulate gzip using the zlib compression library + * Copyright (C) 1995-2006, 2010, 2011, 2016 Jean-loup Gailly + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* + * minigzip is a minimal implementation of the gzip utility. This is + * only an example of using zlib and isn't meant to replace the + * full-featured gzip. No attempt is made to deal with file systems + * limiting names to 14 or 8+3 characters, etc... Error checking is + * very limited. So use minigzip only for testing; use gzip for the + * real thing. + */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif +#include <stdio.h> + +#include <string.h> +#include <stdlib.h> + +#ifdef USE_MMAP +# include <sys/types.h> +# include <sys/mman.h> +# include <sys/stat.h> +#endif + +#if defined(_WIN32) || defined(__CYGWIN__) +# include <fcntl.h> +# include <io.h> +# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) +#else +# define SET_BINARY_MODE(file) +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1900 +# define snprintf _snprintf +#endif + +#if !defined(Z_HAVE_UNISTD_H) && !defined(_LARGEFILE64_SOURCE) +#ifndef _WIN32 /* unlink already in stdio.h for Win32 */ +extern int unlink (const char *); +#endif +#endif + +#ifndef GZ_SUFFIX +# define GZ_SUFFIX ".gz" +#endif +#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) + +#ifndef BUFLEN +# define BUFLEN 16384 /* read buffer size */ +#endif +#define BUFLENW (BUFLEN * 3) /* write buffer size */ +#define MAX_NAME_LEN 1024 + +static char *prog; + +/* =========================================================================== + * Display error message and exit + */ +static void error(const char *msg) { + fprintf(stderr, "%s: %s\n", prog, msg); + exit(1); +} + +/* =========================================================================== + * Display last error message of gzFile, close it and exit + */ + +static void gz_fatal(gzFile file) { + z_int32_t err; + fprintf(stderr, "%s: %s\n", prog, PREFIX(gzerror)(file, &err)); + PREFIX(gzclose)(file); + exit(1); +} + +#ifdef USE_MMAP /* MMAP version, Miguel Albrecht <malbrech@eso.org> */ +/* =========================================================================== + * Try compressing the input file at once using mmap. Return Z_OK if + * success, Z_ERRNO otherwise. + */ +static int gz_compress_mmap(FILE *in, gzFile out) { + int ifd = fileno(in); + void *buf; /* mmap'ed buffer for the entire input file */ + size_t buf_len; /* length of the input file */ + size_t len; + struct stat sb; + + /* Determine the size of the file, needed for mmap: */ + if (fstat(ifd, &sb) < 0) return Z_ERRNO; + /* Check size_t overflow */ + if (sb.st_size <= 0 || sb.st_size > PTRDIFF_MAX) return Z_ERRNO; + buf_len = (size_t)sb.st_size; + + /* Now do the actual mmap: */ + buf = mmap(NULL, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0); + if (buf == MAP_FAILED) return Z_ERRNO; + + /* Compress the whole file at once: */ + len = PREFIX(gzfwrite)(buf, 1, buf_len, out); + + if (len != buf_len) gz_fatal(out); + + munmap(buf, buf_len); + fclose(in); + if (PREFIX(gzclose)(out) != Z_OK) error("failed gzclose"); + return Z_OK; +} +#endif /* USE_MMAP */ + +/* =========================================================================== + * Compress input to output then close both files. + */ + +static void gz_compress(FILE *in, gzFile out) { + char *buf; + int len; + +#ifdef USE_MMAP + /* Try first compressing with mmap. If mmap fails (minigzip used in a + * pipe), use the normal fread loop. + */ + if (gz_compress_mmap(in, out) == Z_OK) return; +#endif + buf = (char *)calloc(BUFLEN, 1); + if (buf == NULL) { + perror("out of memory"); + exit(1); + } + + for (;;) { + len = (int)fread(buf, 1, BUFLEN, in); + if (ferror(in)) { + free(buf); + perror("fread"); + exit(1); + } + if (len == 0) break; + + if (PREFIX(gzwrite)(out, buf, (unsigned)len) != len) gz_fatal(out); + } + free(buf); + fclose(in); + if (PREFIX(gzclose)(out) != Z_OK) error("failed gzclose"); +} + +/* =========================================================================== + * Uncompress input to output then close both files. + */ +static void gz_uncompress(gzFile in, FILE *out) { + char *buf = (char *)malloc(BUFLENW); + int len; + + if (buf == NULL) error("out of memory"); + + for (;;) { + len = PREFIX(gzread)(in, buf, BUFLENW); + if (len < 0) { + free(buf); + gz_fatal(in); + } + if (len == 0) break; + + if ((int)fwrite(buf, 1, (unsigned)len, out) != len) { + free(buf); + error("failed fwrite"); + } + } + free(buf); + if (fclose(out)) error("failed fclose"); + + if (PREFIX(gzclose)(in) != Z_OK) error("failed gzclose"); +} + + +/* =========================================================================== + * Compress the given file: create a corresponding .gz file and remove the + * original. + */ +static void file_compress(char *file, char *mode, int keep) { + char outfile[MAX_NAME_LEN]; + FILE *in; + gzFile out; + + if (strlen(file) + strlen(GZ_SUFFIX) >= sizeof(outfile)) { + fprintf(stderr, "%s: filename too long\n", prog); + exit(1); + } + + snprintf(outfile, sizeof(outfile), "%s%s", file, GZ_SUFFIX); + + in = fopen(file, "rb"); + if (in == NULL) { + perror(file); + exit(1); + } + out = PREFIX(gzopen)(outfile, mode); + if (out == NULL) { + fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile); + exit(1); + } + gz_compress(in, out); + + if (!keep) + unlink(file); +} + + +/* =========================================================================== + * Uncompress the given file and remove the original. + */ +static void file_uncompress(char *file, int keep) { + char buf[MAX_NAME_LEN]; + char *infile, *outfile; + FILE *out; + gzFile in; + size_t len = strlen(file); + + if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) { + fprintf(stderr, "%s: filename too long\n", prog); + exit(1); + } + + snprintf(buf, sizeof(buf), "%s", file); + + if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { + infile = file; + outfile = buf; + outfile[len-3] = '\0'; + } else { + outfile = file; + infile = buf; + snprintf(buf + len, sizeof(buf) - len, "%s", GZ_SUFFIX); + } + in = PREFIX(gzopen)(infile, "rb"); + if (in == NULL) { + fprintf(stderr, "%s: can't gzopen %s\n", prog, infile); + exit(1); + } + out = fopen(outfile, "wb"); + if (out == NULL) { + perror(file); + exit(1); + } + + gz_uncompress(in, out); + + if (!keep) + unlink(infile); +} + +static void show_help(void) { + printf("Usage: minigzip [-c] [-d] [-k] [-f|-h|-R|-F|-T] [-A] [-0 to -9] [files...]\n\n" + " -c : write to standard output\n" + " -d : decompress\n" + " -k : keep input files\n" + " -f : compress with Z_FILTERED\n" + " -h : compress with Z_HUFFMAN_ONLY\n" + " -R : compress with Z_RLE\n" + " -F : compress with Z_FIXED\n" + " -T : stored raw\n" + " -A : auto detect type\n" + " -0 to -9 : compression level\n\n"); +} + +int main(int argc, char *argv[]) { + int copyout = 0; + int uncompr = 0; + int keep = 0; + int i = 0; + gzFile file; + char *bname, outmode[20]; + char *strategy = ""; + char *level = "6"; + char *type = "b"; + + prog = argv[i]; + bname = strrchr(argv[i], '/'); + if (bname) + bname++; + else + bname = argv[i]; + + if (!strcmp(bname, "gunzip")) + uncompr = 1; + else if (!strcmp(bname, "zcat")) + copyout = uncompr = 1; + + for (i = 1; i < argc; i++) { + if (strcmp(argv[i], "-c") == 0) + copyout = 1; + else if (strcmp(argv[i], "-d") == 0) + uncompr = 1; + else if (strcmp(argv[i], "-k") == 0) + keep = 1; + else if (strcmp(argv[i], "-A") == 0) + type = ""; + else if (argv[i][0] == '-' && (argv[i][1] == 'f' || argv[i][1] == 'h' || + argv[i][1] == 'R' || argv[i][1] == 'F' || argv[i][1] == 'T') && argv[i][2] == 0) + strategy = argv[i] + 1; + else if (argv[i][0] == '-' && argv[i][1] >= '0' && argv[i][1] <= '9' && argv[i][2] == 0) + level = argv[i] + 1; + else if (strcmp(argv[i], "--help") == 0) { + show_help(); + return 0; + } else if (argv[i][0] == '-') { + show_help(); + return 64; /* EX_USAGE */ + } else { + break; + } + } + + snprintf(outmode, sizeof(outmode), "w%s%s%s", type, strategy, level); + + if (i == argc) { + SET_BINARY_MODE(stdin); + SET_BINARY_MODE(stdout); + if (uncompr) { + file = PREFIX(gzdopen)(fileno(stdin), "rb"); + if (file == NULL) error("can't gzdopen stdin"); + gz_uncompress(file, stdout); + } else { + file = PREFIX(gzdopen)(fileno(stdout), outmode); + if (file == NULL) error("can't gzdopen stdout"); + gz_compress(stdin, file); + } + } else { + if (copyout) { + SET_BINARY_MODE(stdout); + } + do { + if (uncompr) { + if (copyout) { + file = PREFIX(gzopen)(argv[i], "rb"); + if (file == NULL) + fprintf(stderr, "%s: can't gzopen %s\n", prog, argv[i]); + else + gz_uncompress(file, stdout); + } else { + file_uncompress(argv[i], keep); + } + } else { + if (copyout) { + FILE * in = fopen(argv[i], "rb"); + + if (in == NULL) { + perror(argv[i]); + } else { + file = PREFIX(gzdopen)(fileno(stdout), outmode); + if (file == NULL) error("can't gzdopen stdout"); + + gz_compress(in, file); + } + + } else { + file_compress(argv[i], outmode, keep); + } + } + } while (++i < argc); + } + return 0; +} diff --git a/neozip/test/pigz/CMakeLists.txt b/neozip/test/pigz/CMakeLists.txt new file mode 100644 index 0000000000..42f1f43d47 --- /dev/null +++ b/neozip/test/pigz/CMakeLists.txt @@ -0,0 +1,209 @@ +# CMakeLists.txt -- Build madler/pigz against zlib variant + +# Copyright (C) 2021 Nathan Moinvaziri +# Licensed under the Zlib license, see LICENSE.md for details + +# By default pigz will be linked against the system zlib and +# pthread libraries if installed. + +# For compilation on Windows download and use shim: +# https://github.com/zlib-ng/pigzbench/tree/master/pigz/win + +# Optional Variables +# WITH_CODE_COVERAGE - Enable code coverage reporting +# WITH_THREADS - Enable threading support +# PIGZ_ENABLE_TESTS - Enable adding unit tests +# PIGZ_VERSION - Set the version of pigz to build +# ZLIB_ROOT - Path to the zlib source directory +# PTHREADS4W_ROOT - Path to pthreads4w source directory on Windows. +# If not specified then threading will be disabled. + +cmake_minimum_required(VERSION 3.14...4.2.1) + +include(CheckCCompilerFlag) +include(FeatureSummary) +include(FetchContent) + +include(../../cmake/detect-coverage.cmake) + +option(WITH_CODE_COVERAGE "Enable code coverage reporting" OFF) +option(WITH_THREADS "Enable threading support" ON) +option(PIGZ_ENABLE_TESTS "Build unit tests" ON) +option(PIGZ_VERSION "Set the version of pigz to build" "") + +project(pigz LANGUAGES C) + +# Set code coverage compiler flags +if(WITH_CODE_COVERAGE) + add_code_coverage() +endif() + +# Compiler definitions +if(CMAKE_C_COMPILER_ID STREQUAL "Clang") + add_definitions(-fno-caret-diagnostics) +elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU") + if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5.0) + add_definitions(-Wno-unused-result) + endif() + if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8.0) + add_definitions(-fno-diagnostics-show-caret) + endif() +elseif(WIN32) + add_definitions(-D_TIMESPEC_DEFINED) + if(MSVC) + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) + endif() +endif() + +# Fetch pigz source code from official repository +if(PIGZ_VERSION STREQUAL "") + set(PIGZ_TAG master) +else() + set(PIGZ_TAG ${PIGZ_VERSION}) +endif() +FetchContent_Declare(pigz + GIT_REPOSITORY https://github.com/madler/pigz.git + GIT_TAG ${PIGZ_TAG}) + +FetchContent_MakeAvailable(pigz) + +set(PIGZ_SRCS + ${pigz_SOURCE_DIR}/pigz.c + ${pigz_SOURCE_DIR}/try.c) + +set(PIGZ_HDRS + ${pigz_SOURCE_DIR}/try.h) + +add_executable(${PROJECT_NAME} ${PIGZ_SRCS} ${PIGZ_HDRS}) +add_definitions(-DNOZOPFLI) +if(WIN32) + target_include_directories(${PROJECT_NAME} PRIVATE win) +endif() + +# Find and link against pthreads or pthreads4w +if(WITH_THREADS) + if(WIN32) + if(DEFINED PTHREADS4W_ROOT) + set(CLEANUP_STYLE VC) + set(PTHREADS4W_VERSION 3) + + add_subdirectory(${PTHREADS4W_ROOT} ${PTHREADS4W_ROOT} EXCLUDE_FROM_ALL) + target_link_libraries(${PROJECT_NAME} pthreadVC3) + target_include_directories(${PROJECT_NAME} PRIVATE ${PTHREADS4W_ROOT}) + else() + message(WARNING "Missing pthreads4w root directory") + set(WITH_THREADS OFF) + endif() + else() + find_package(Threads REQUIRED) + target_link_libraries(${PROJECT_NAME} Threads::Threads) + if(NOT APPLE) + target_link_libraries(${PROJECT_NAME} m) + endif() + endif() +endif() + +# Disable threading support +if(NOT WITH_THREADS) + add_definitions(-DNOTHREAD) +else() + set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY SOURCES + ${pigz_SOURCE_DIR}/yarn.c + ${pigz_SOURCE_DIR}/yarn.h) +endif() + +# Find and link against zlib +if(NOT DEFINED ZLIB_ROOT) + find_package(Zlib REQUIRED) +endif() + +set(ZLIB_ALIASES ON) +set(ZLIB_COMPAT ON) +set(ZLIB_ENABLE_TESTS OFF) + +add_subdirectory(${ZLIB_ROOT} ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL) + +if(NOT DEFINED BUILD_SHARED_LIBS OR NOT BUILD_SHARED_LIBS) + set(ZLIB_TARGET zlibstatic) +else() + set(ZLIB_TARGET zlib) +endif() + +target_include_directories(${PROJECT_NAME} PRIVATE ${ZLIB_ROOT} ${CMAKE_CURRENT_BINARY_DIR}/zlib) +target_link_libraries(${PROJECT_NAME} ${ZLIB_TARGET}) + +if(NOT SKIP_INSTALL_BINARIES AND NOT SKIP_INSTALL_ALL) + install(TARGETS ${PROJECT_NAME} DESTINATION "bin") +endif() + +# Add unit tests +if(PIGZ_ENABLE_TESTS) + enable_testing() + + set(PIGZ_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:pigz>) + + macro(test_pigz name path) + # Construct compression arguments for pigz + set(compress_args -k -c) + foreach(extra_arg IN ITEMS "${ARGN}") + list(APPEND compress_args ${extra_arg}) + endforeach() + + # Create unique friendly string for test + string(REPLACE ";" "" arg_list "${ARGN}") + string(REPLACE " " "" arg_list "${arg_list}") + string(REPLACE "-" "" arg_list "${arg_list}") + + set(test_id pigz-${name}-${arg_list}) + + if(NOT TEST ${test_id}) + add_test(NAME ${test_id} + COMMAND ${CMAKE_COMMAND} + "-DTARGET=${PIGZ_COMMAND}" + "-DCOMPRESS_ARGS=${compress_args}" + "-DDECOMPRESS_ARGS=-d;-c" + -DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/${path} + -DTEST_NAME=${test_id} + -P ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/compress-and-verify.cmake) + endif() + endmacro() + + set(TEST_CONFIGS + -U # RLE compression + #-H # Z_HUFFMAN_ONLY (broken in 2.6) + -0 # No compression + -1 # Deflate quick + -4 # Deflate medium (lazy matches) + -6 # Deflate medium + -9 # Deflate slow + ) + + file(GLOB_RECURSE TEST_FILE_PATHS + LIST_DIRECTORIES false + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/*) + + foreach(TEST_FILE_PATH ${TEST_FILE_PATHS}) + if("${TEST_FILE_PATH}" MATCHES ".gz$" OR "${TEST_FILE_PATH}" MATCHES ".out$" OR + "${TEST_FILE_PATH}" MATCHES "/.git/" OR "${TEST_FILE_PATH}" MATCHES ".md$") + continue() + endif() + foreach(TEST_CONFIG ${TEST_CONFIGS}) + get_filename_component(TEST_NAME ${TEST_FILE_PATH} NAME) + if (TEST_NAME STREQUAL "") + continue() + endif() + test_pigz(${TEST_NAME} ${TEST_FILE_PATH} ${TEST_CONFIG}) + endforeach() + endforeach() + + set(GH979_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:pigz> + -d -k -f ${CMAKE_CURRENT_SOURCE_DIR}/../GH-979/pigz-2.6.tar.gz) + add_test(NAME GH-979 COMMAND ${GH979_COMMAND}) +endif() + +add_feature_info(WITH_CODE_COVERAGE WITH_CODE_COVERAGE "Enable code coverage reporting") +add_feature_info(WITH_THREADS WITH_THREADS "Enable threading support") +add_feature_info(PIGZ_ENABLE_TESTS PIGZ_ENABLE_TESTS "Build unit tests") + +FEATURE_SUMMARY(WHAT ALL INCLUDE_QUIET_PACKAGES) diff --git a/neozip/test/pkgcheck.sh b/neozip/test/pkgcheck.sh new file mode 100644 index 0000000000..29668a9f4f --- /dev/null +++ b/neozip/test/pkgcheck.sh @@ -0,0 +1,180 @@ +#!/bin/sh + +usage() { + cat <<"_EOF_" +Usage: sh test/pkgcheck.sh [--zlib-compat] + +Verifies that the various build systems produce identical results on a Unixlike system. +If --zlib-compat, tests with zlib compatible builds. + +To build the 32 bit version for the current 64 bit arch: + +$ sudo apt install ninja-build diffoscope gcc-multilib +$ export CMAKE_ARGS="-DCMAKE_C_FLAGS=-m32" CFLAGS=-m32 LDFLAGS=-m32 +$ sh test/pkgcheck.sh + +To cross-build, install the appropriate qemu and gcc packages, +and set the environment variables used by configure or cmake. +On Ubuntu, for example (values taken from .github/workflows/pkgconf.yml): + +arm HF: +$ sudo apt install ninja-build diffoscope qemu gcc-arm-linux-gnueabihf libc6-dev-armhf-cross +$ export CHOST=arm-linux-gnueabihf +$ export CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DCMAKE_C_COMPILER_TARGET=${CHOST}" + +aarch64: +$ sudo apt install ninja-build diffoscope qemu gcc-aarch64-linux-gnu libc6-dev-arm64-cross +$ export CHOST=aarch64-linux-gnu +$ export CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DCMAKE_C_COMPILER_TARGET=${CHOST}" + +ppc (32 bit big endian): +$ sudo apt install ninja-build diffoscope qemu gcc-powerpc-linux-gnu libc6-dev-powerpc-cross +$ export CHOST=powerpc-linux-gnu +$ export CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake" + +ppc64le: +$ sudo apt install ninja-build diffoscope qemu gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross +$ export CHOST=powerpc64le-linux-gnu +$ export CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake" + +then: +$ export CC=${CHOST}-gcc +$ sh test/pkgcheck.sh [--zlib-compat] + +Note: on Mac, you may also need to do 'sudo xcode-select -r' to get cmake to match configure/make's behavior (i.e. omit -isysroot). +_EOF_ +} + +set -ex + +case "$1" in +--zlib-compat) + suffix="" + CMAKE_ARGS="$CMAKE_ARGS -DZLIB_COMPAT=ON" + CONFIGURE_ARGS="$CONFIGURE_ARGS --zlib-compat" + ;; +"") + suffix="-ng" + ;; +*) + echo "Unknown arg '$1'" + usage + exit 1 + ;; +esac + +if ! test -f "configure" +then + echo "Please run from top of source tree" + exit 1 +fi + +# Tell GNU's ld etc. to use Jan 1 1970 when embedding timestamps +# Probably only needed on older systems (ubuntu 14.04, BSD?) +export SOURCE_DATE_EPOCH=0 +case $(uname) in +Darwin) + # Tell Apple's ar etc. to use zero timestamps + export ZERO_AR_DATE=1 + # What CPU are we running on, exactly? + sysctl -n machdep.cpu.brand_string + sysctl -n machdep.cpu.features + if test "$(uname -m)" = "x86_64" + then + sysctl -n machdep.cpu.leaf7_features + sysctl -n machdep.cpu.extfeatures + fi + ;; +esac + +# Use same compiler for make and cmake builds +if test "$CC"x = ""x +then + if clang --version + then + export CC=clang + elif gcc --version + then + export CC=gcc + fi +fi + +# New build system +# Happens to delete top-level zconf.h +# (which itself is a bug, https://github.com/madler/zlib/issues/162 ) +# which triggers another bug later in configure, +# https://github.com/madler/zlib/issues/499 +rm -rf btmp2 pkgtmp2 +mkdir btmp2 pkgtmp2 +export DESTDIR=$(pwd)/pkgtmp2 +cd btmp2 + cmake -G Ninja ${CMAKE_ARGS} .. + ninja -v + ninja install +cd .. + +# Original build system +rm -rf btmp1 pkgtmp1 +mkdir btmp1 pkgtmp1 +export DESTDIR=$(pwd)/pkgtmp1/ +cd btmp1 + case $(uname) in + Darwin) + export LDFLAGS="-Wl,-headerpad_max_install_names" + ;; + esac + ../configure $CONFIGURE_ARGS + make -j2 + make install +cd .. + +repack_ar() { + archive1=$(cd pkgtmp1; find . -type f -name '*.a'; cd ..) + archive2=$(cd pkgtmp2; find . -type f -name '*.a'; cd ..) + if ! cmp --silent pkgtmp1/$archive1 pkgtmp2/$archive2 + then + echo "libz$suffix.a does not match. Probably filenames differ (.o vs .c.o). Unpacking and renaming..." + # Note: %% is posix shell syntax meaning "Remove Largest Suffix Pattern", see + # https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_02 + cd pkgtmp1; ar x $archive1; rm $archive1; cd .. + cd pkgtmp2; ar x $archive2; rm $archive2; for a in *.c.o; do mv $a ${a%%.c.o}.o; done; cd .. + # Also, remove __.SYMDEF SORTED if present, as it has those funky .c.o names embedded in it. + rm -f pkgtmp[12]/__.SYMDEF\ SORTED + fi +} + +case $(uname) in +Darwin) + # Remove the build uuid. + dylib1=$(find pkgtmp1 -type f -name '*.dylib*') + dylib2=$(find pkgtmp2 -type f -name '*.dylib*') + strip -x -no_uuid "$dylib1" + strip -x -no_uuid "$dylib2" + ;; +esac + +# Remove cmake target files to avoid mismatch with configure +find pkgtmp2 -type f -name '*.cmake' -exec rm '{}' \; + +# The ar on newer systems defaults to -D (i.e. deterministic), +# but FreeBSD 12.1, Debian 8, and Ubuntu 14.04 seem to not do that. +# I had trouble passing -D safely to the ar inside CMakeLists.txt, +# so punt and unpack the archive if needed before comparing. +# Also, cmake uses different .o suffix anyway... +repack_ar + +if diff -Nur pkgtmp1 pkgtmp2 +then + echo pkgcheck-cmake-bits-identical PASS +else + echo pkgcheck-cmake-bits-identical FAIL + dylib1=$(find pkgtmp1 -type f -name '*.dylib*' -print -o -type f -name '*.so.*' -print) + dylib2=$(find pkgtmp2 -type f -name '*.dylib*' -print -o -type f -name '*.so.*' -print) + diffoscope $dylib1 $dylib2 | cat + exit 1 +fi + +rm -rf btmp1 btmp2 pkgtmp1 pkgtmp2 + +# any failure would have caused an early exit already +echo "pkgcheck: PASS" diff --git a/neozip/test/switchlevels.c b/neozip/test/switchlevels.c new file mode 100644 index 0000000000..2d6ca0e69b --- /dev/null +++ b/neozip/test/switchlevels.c @@ -0,0 +1,168 @@ +/* Compresses a user-specified number of chunks from stdin into stdout as a single gzip stream. + * Each chunk is compressed with a user-specified level. + */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <inttypes.h> +#include <stdio.h> + +#if defined(_WIN32) || defined(__CYGWIN__) +# include <fcntl.h> +# include <io.h> +# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) +#else +# define SET_BINARY_MODE(file) +#endif + +static int read_all(unsigned char *buf, size_t size) { + size_t total_read = 0; + while (total_read < size) { + size_t n_read = fread(buf + total_read, 1, size - total_read, stdin); + if (ferror(stdin)) { + perror("fread\n"); + return 1; + } + if (n_read == 0) { + fprintf(stderr, "Premature EOF\n"); + return 1; + } + total_read += n_read; + } + return 0; +} + +static int write_all(unsigned char *buf, size_t size) { + size_t total_written = 0; + while (total_written < size) { + size_t n_written = fwrite(buf + total_written, 1, size - total_written, stdout); + if (ferror(stdout)) { + perror("fwrite\n"); + return 1; + } + total_written += n_written; + } + return 0; +} + +static int compress_chunk(PREFIX3(stream) *strm, int level, int size, int last) { + int ret = 1; + int err = 0; + unsigned long compsize; + unsigned char *buf; + + if (size <= 0) { + fprintf(stderr, "compress_chunk() invalid size %d\n", size); + goto done; + } + if (level < 0 || level > 9) { + fprintf(stderr, "compress_chunk() invalid level %d\n", level); + goto done; + } + + compsize = PREFIX(deflateBound)(strm, size); + buf = malloc(size + compsize); + if (buf == NULL) { + fprintf(stderr, "Out of memory\n"); + goto done; + } + if (read_all(buf, size) != 0) { + goto free_buf; + } + + /* Provide only output buffer to deflateParams(). It might need some space to flush the leftovers from the last + * deflate(), but we don't want it to compress anything new. */ + strm->next_in = NULL; + strm->avail_in = 0; + strm->next_out = buf + size; + strm->avail_out = compsize; + err = PREFIX(deflateParams)(strm, level, Z_DEFAULT_STRATEGY); + if (err != Z_OK) { + fprintf(stderr, "deflateParams() failed with code %d\n", err); + goto free_buf; + } + + /* Provide input buffer to deflate(). */ + strm->next_in = buf; + strm->avail_in = size; + err = PREFIX(deflate)(strm, last ? Z_FINISH : Z_SYNC_FLUSH); + if ((!last && err != Z_OK) || (last && err != Z_STREAM_END)) { + fprintf(stderr, "deflate() failed with code %d\n", err); + goto free_buf; + } + if (strm->avail_in != 0) { + fprintf(stderr, "deflate() did not consume %" PRIu32 " bytes of input\n", strm->avail_in); + goto free_buf; + } + if (write_all(buf + size, compsize - strm->avail_out) != 0) { + goto free_buf; + } + ret = 0; + +free_buf: + free(buf); +done: + return ret; +} + +void show_help(void) +{ + printf("Usage: switchlevels [-w bits] level1 size1 [level2 size2 ...]\n\n" + " -w : window bits (8 to 15 for gzip, -8 to -15 for zlib)\n\n"); +} + +int main(int argc, char **argv) { + int ret = EXIT_FAILURE; + int err = 0; + int size = 0; + int level = Z_DEFAULT_COMPRESSION; + int level_arg = 1; + int window_bits = MAX_WBITS + 16; + PREFIX3(stream) strm; + + + if ((argc == 1) || (argc == 2 && strcmp(argv[1], "--help") == 0)) { + show_help(); + return 0; + } + + SET_BINARY_MODE(stdin); + SET_BINARY_MODE(stdout); + + memset(&strm, 0, sizeof(strm)); + + for (int i = 1; i < argc - 1; i++) { + if (strcmp(argv[i], "-w") == 0 && i+1 < argc) { + window_bits = atoi(argv[++i]); + } else { + level_arg = i; + level = atoi(argv[i]); + break; + } + } + + err = PREFIX(deflateInit2)(&strm, level, Z_DEFLATED, window_bits, 8, Z_DEFAULT_STRATEGY); + if (err != Z_OK) { + fprintf(stderr, "deflateInit() failed with code %d\n", err); + goto done; + } + + for (int i = level_arg; i < argc - 1; i += 2) { + level = atoi(argv[i]); + size = atoi(argv[i + 1]); + if (compress_chunk(&strm, level, size, i + 2 >= argc - 1) != 0) { + goto deflate_end; + } + } + ret = EXIT_SUCCESS; + +deflate_end: + PREFIX(deflateEnd)(&strm); +done: + return ret; +} diff --git a/neozip/test/test_adler32.cc b/neozip/test/test_adler32.cc new file mode 100644 index 0000000000..c461f93939 --- /dev/null +++ b/neozip/test/test_adler32.cc @@ -0,0 +1,75 @@ +/* test_adler32.c -- unit test for adler32 in the zlib compression library + * Copyright (C) 2020 IBM Corporation + * Author: Rogerio Alves <rcardoso@linux.ibm.com> + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "test_cpu_features.h" +# include "hash_test_strings_p.h" +} + +#include <gtest/gtest.h> + +class adler32_variant : public ::testing::TestWithParam<hash_test> { +public: + void hash(hash_test param, adler32_func adler32) { + uint32_t adler = adler32((uint32_t)param.initial_adler, param.buf, param.len); + EXPECT_EQ(adler, param.expect_adler); + } +}; + +INSTANTIATE_TEST_SUITE_P(adler32, adler32_variant, testing::ValuesIn(hash_tests)); + +#define TEST_ADLER32(name, func, support_flag) \ + TEST_P(adler32_variant, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + hash(GetParam(), func); \ + } + +TEST_ADLER32(c, adler32_c, 1) + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +TEST_ADLER32(native, native_adler32, 1) +#else + +#ifdef ARM_NEON +TEST_ADLER32(neon, adler32_neon, test_cpu_features.arm.has_neon) +#elif defined(POWER8_VSX) +TEST_ADLER32(power8, adler32_power8, test_cpu_features.power.has_arch_2_07) +#elif defined(PPC_VMX) +TEST_ADLER32(vmx, adler32_vmx, test_cpu_features.power.has_altivec) +#elif defined(RISCV_RVV) +TEST_ADLER32(rvv, adler32_rvv, test_cpu_features.riscv.has_rvv) +#endif + +#ifdef X86_SSSE3 +TEST_ADLER32(ssse3, adler32_ssse3, test_cpu_features.x86.has_ssse3) +#endif +#ifdef X86_AVX2 +TEST_ADLER32(avx2, adler32_avx2, test_cpu_features.x86.has_avx2) +#endif +#ifdef X86_AVX512 +TEST_ADLER32(avx512, adler32_avx512, test_cpu_features.x86.has_avx512_common) +#endif +#ifdef X86_AVX512VNNI +TEST_ADLER32(avx512_vnni, adler32_avx512_vnni, test_cpu_features.x86.has_avx512vnni) +#endif + +#ifdef LOONGARCH_LSX +TEST_ADLER32(lsx, adler32_lsx, test_cpu_features.loongarch.has_lsx) +#endif +#ifdef LOONGARCH_LASX +TEST_ADLER32(lasx, adler32_lasx, test_cpu_features.loongarch.has_lasx) +#endif + +#endif diff --git a/neozip/test/test_adler32_copy.cc b/neozip/test/test_adler32_copy.cc new file mode 100644 index 0000000000..725d86aa95 --- /dev/null +++ b/neozip/test/test_adler32_copy.cc @@ -0,0 +1,83 @@ +/* test_adler32_copy.cc -- test for adler32 implementations while copying + * Copyright (C) 2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <gtest/gtest.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "test_cpu_features.h" +# include "hash_test_strings_p.h" +} + +class adler32_copy_variant : public ::testing::TestWithParam<hash_test> { +protected: + uint8_t dstbuf[HASH_TEST_MAX_LENGTH]; + +public: + /* Ensure that adler32 copy functions returns the correct adler and copies the data */ + void adler32_copy_test(adler32_copy_func copyfunc, hash_test params) { + ASSERT_LE(params.len, HASH_TEST_MAX_LENGTH); + + uint32_t adler = copyfunc(params.initial_adler, dstbuf, params.buf, params.len); + + EXPECT_EQ(adler, params.expect_adler); + EXPECT_EQ(0, memcmp(params.buf, dstbuf, params.len)); + } +}; + +INSTANTIATE_TEST_SUITE_P(adler32_copy, adler32_copy_variant, testing::ValuesIn(hash_tests)); + +#define TEST_ADLER32_COPY(name, copyfunc, support_flag) \ + TEST_P(adler32_copy_variant, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + adler32_copy_test(copyfunc, GetParam()); \ + } + +// Base test +TEST_ADLER32_COPY(c, adler32_copy_c, 1) + +#ifdef DISABLE_RUNTIME_CPU_DETECTION + // Native test + TEST_ADLER32_COPY(native, native_adler32_copy, 1) +#else + +#ifdef ARM_NEON +TEST_ADLER32_COPY(neon, adler32_copy_neon, test_cpu_features.arm.has_neon) +#elif defined(POWER8_VSX) +TEST_ADLER32_COPY(power8, adler32_copy_power8, test_cpu_features.power.has_arch_2_07) +#elif defined(PPC_VMX) +TEST_ADLER32_COPY(vmx, adler32_copy_vmx, test_cpu_features.power.has_altivec) +#elif defined(RISCV_RVV) +TEST_ADLER32_COPY(rvv, adler32_copy_rvv, test_cpu_features.riscv.has_rvv) +#endif + +#ifdef X86_SSSE3 +TEST_ADLER32_COPY(ssse3, adler32_copy_ssse3, test_cpu_features.x86.has_ssse3) +#endif +#ifdef X86_SSE42 +TEST_ADLER32_COPY(sse42, adler32_copy_sse42, test_cpu_features.x86.has_sse42) +#endif +#ifdef X86_AVX2 +TEST_ADLER32_COPY(avx2, adler32_copy_avx2, test_cpu_features.x86.has_avx2) +#endif +#ifdef X86_AVX512 +TEST_ADLER32_COPY(avx512, adler32_copy_avx512, test_cpu_features.x86.has_avx512_common) +#endif +#ifdef X86_AVX512VNNI +TEST_ADLER32_COPY(avx512_vnni, adler32_copy_avx512_vnni, test_cpu_features.x86.has_avx512vnni) +#endif + +#ifdef LOONGARCH_LSX +TEST_ADLER32_COPY(lsx, adler32_copy_lsx, test_cpu_features.loongarch.has_lsx) +#endif +#ifdef LOONGARCH_LASX +TEST_ADLER32_COPY(lasx, adler32_copy_lasx, test_cpu_features.loongarch.has_lasx) +#endif + +#endif diff --git a/neozip/test/test_compare256.cc b/neozip/test/test_compare256.cc new file mode 100644 index 0000000000..b3efe79fb9 --- /dev/null +++ b/neozip/test/test_compare256.cc @@ -0,0 +1,96 @@ +/* test_compare256.cc -- compare256 unit tests + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +extern "C" { +# include "zbuild.h" +# include "zutil.h" +# include "arch_functions.h" +# include "test_cpu_features.h" +} + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define MAX_COMPARE_SIZE (256) + + +/* Ensure that compare256 returns the correct match length */ +static inline void compare256_match_check(compare256_func compare256) { + int32_t match_len, i; + uint8_t *str1; + uint8_t *str2; + + str1 = (uint8_t *)PREFIX(zcalloc)(NULL, 1, MAX_COMPARE_SIZE); + ASSERT_TRUE(str1 != NULL); + memset(str1, 'a', MAX_COMPARE_SIZE); + + str2 = (uint8_t *)PREFIX(zcalloc)(NULL, 1, MAX_COMPARE_SIZE); + ASSERT_TRUE(str2 != NULL); + memset(str2, 'a', MAX_COMPARE_SIZE); + + for (i = 0; i <= MAX_COMPARE_SIZE; i++) { + if (i < MAX_COMPARE_SIZE) + str2[i] = 0; + + match_len = compare256(str1, str2); + EXPECT_EQ(match_len, i); + + if (i < MAX_COMPARE_SIZE) + str2[i] = 'a'; + } + + PREFIX(zcfree)(NULL, str1); + PREFIX(zcfree)(NULL, str2); +} + +#define TEST_COMPARE256(name, func, support_flag) \ + TEST(compare256, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + compare256_match_check(func); \ + } + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +TEST_COMPARE256(native, native_compare256, 1) +#else + +#ifdef WITH_ALL_FALLBACKS +TEST_COMPARE256(8, compare256_8, 1) +TEST_COMPARE256(64, compare256_64, 1) +#endif + +#ifdef X86_SSE2 +TEST_COMPARE256(sse2, compare256_sse2, test_cpu_features.x86.has_sse2) +#endif +#ifdef X86_AVX2 +TEST_COMPARE256(avx2, compare256_avx2, test_cpu_features.x86.has_avx2) +#endif +#ifdef X86_AVX512 +TEST_COMPARE256(avx512, compare256_avx512, test_cpu_features.x86.has_avx512_common) +#endif +#ifdef ARM_NEON +TEST_COMPARE256(neon, compare256_neon, test_cpu_features.arm.has_neon) +#endif +#ifdef POWER9 +TEST_COMPARE256(power9, compare256_power9, test_cpu_features.power.has_arch_3_00) +#endif +#ifdef RISCV_RVV +TEST_COMPARE256(rvv, compare256_rvv, test_cpu_features.riscv.has_rvv) +#endif +#ifdef LOONGARCH_LSX +TEST_COMPARE256(lsx, compare256_lsx, test_cpu_features.loongarch.has_lsx) +#endif +#ifdef LOONGARCH_LASX +TEST_COMPARE256(lasx, compare256_lasx, test_cpu_features.loongarch.has_lasx) +#endif + +#endif diff --git a/neozip/test/test_compare256_rle.cc b/neozip/test/test_compare256_rle.cc new file mode 100644 index 0000000000..7a77fce59f --- /dev/null +++ b/neozip/test/test_compare256_rle.cc @@ -0,0 +1,54 @@ +/* test_compare256_rle.cc -- compare256_rle unit tests + * Copyright (C) 2022 Nathan Moinvaziri + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +extern "C" { +# include "zbuild.h" +# include "zutil.h" +# include "compare256_rle.h" +} + +#include <gtest/gtest.h> + +#define MAX_COMPARE_SIZE (256) + +/* Ensure that compare256_rle returns the correct match length */ +static inline void compare256_rle_match_check(compare256_rle_func compare256_rle) { + int32_t match_len, i; + uint8_t str1[] = {'a', 'a', 0}; + uint8_t *str2; + + str2 = (uint8_t *)PREFIX(zcalloc)(NULL, 1, MAX_COMPARE_SIZE); + ASSERT_TRUE(str2 != NULL); + memset(str2, 'a', MAX_COMPARE_SIZE); + + for (i = 0; i <= MAX_COMPARE_SIZE; i++) { + if (i < MAX_COMPARE_SIZE) + str2[i] = 0; + + match_len = compare256_rle(str1, str2); + EXPECT_EQ(match_len, i); + + if (i < MAX_COMPARE_SIZE) + str2[i] = 'a'; + } + + PREFIX(zcfree)(NULL, str2); +} + +#define TEST_COMPARE256_RLE(name, func, support_flag) \ + TEST(compare256_rle, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + compare256_rle_match_check(func); \ + } + +TEST_COMPARE256_RLE(8, compare256_rle_8, 1) +TEST_COMPARE256_RLE(64, compare256_rle_64, 1) diff --git a/neozip/test/test_compress.cc b/neozip/test/test_compress.cc new file mode 100644 index 0000000000..e069b69d31 --- /dev/null +++ b/neozip/test/test_compress.cc @@ -0,0 +1,33 @@ +/* test_compress.cc - Test compress() and uncompress() using hello world string */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(compress, basic) { + uint8_t compr[128], uncompr[128]; + z_uintmax_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + int err; + + err = PREFIX(compress)(compr, &compr_len, (const unsigned char *)hello, hello_len); + EXPECT_EQ(err, Z_OK); + + strcpy((char*)uncompr, "garbage"); + + err = PREFIX(uncompress)(uncompr, &uncompr_len, compr, compr_len); + EXPECT_EQ(err, Z_OK); + + EXPECT_STREQ((char *)uncompr, (char *)hello); +} diff --git a/neozip/test/test_compress_bound.cc b/neozip/test/test_compress_bound.cc new file mode 100644 index 0000000000..1acda02fc5 --- /dev/null +++ b/neozip/test/test_compress_bound.cc @@ -0,0 +1,59 @@ +/* test_compress_bound.cc - Test compressBound() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define MAX_LENGTH (32) + +class compress_bound_variant : public testing::TestWithParam<int32_t> { +public: + void estimate(int32_t level) { + z_size_t estimate_len = 0; + uint8_t *uncompressed = NULL; + uint8_t dest[128]; + int err; + + uncompressed = (uint8_t *)malloc(MAX_LENGTH); + ASSERT_TRUE(uncompressed != NULL); + + /* buffer with values for worst case compression */ + for (int32_t j = 0; j < MAX_LENGTH; j++) { + uncompressed[j] = (uint8_t)j; + } + + for (z_uintmax_t i = 0; i < MAX_LENGTH; i++) { + z_uintmax_t dest_len = sizeof(dest); + + /* calculate actual output length */ + estimate_len = PREFIX(compressBound)(i); + + err = PREFIX(compress2)(dest, &dest_len, uncompressed, i, level); + EXPECT_EQ(err, Z_OK); + EXPECT_GE(estimate_len, dest_len) << + "level: " << level << "\n" << + "length: " << i; + } + + free(uncompressed); + } +}; + +TEST_P(compress_bound_variant, estimate) { + estimate(GetParam()); +} + +INSTANTIATE_TEST_SUITE_P(compress_bound, compress_bound_variant, + testing::Values(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)); diff --git a/neozip/test/test_compress_dual.cc b/neozip/test/test_compress_dual.cc new file mode 100644 index 0000000000..a92ab4be39 --- /dev/null +++ b/neozip/test/test_compress_dual.cc @@ -0,0 +1,28 @@ +/* test_compress_dual.cc - Test linking against both zlib and zlib-ng */ + +#include "zlib.h" + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(compress, basic_zlib) { + Byte compr[128], uncompr[128]; + uLong compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + int err; + + err = compress(compr, &compr_len, (const unsigned char *)hello, hello_len); + EXPECT_EQ(err, Z_OK); + + strcpy((char*)uncompr, "garbage"); + + err = uncompress(uncompr, &uncompr_len, compr, compr_len); + EXPECT_EQ(err, Z_OK); + + EXPECT_STREQ((char *)uncompr, (char *)hello); +} diff --git a/neozip/test/test_cpu_features.h b/neozip/test/test_cpu_features.h new file mode 100644 index 0000000000..70b74283d2 --- /dev/null +++ b/neozip/test/test_cpu_features.h @@ -0,0 +1,12 @@ +#ifndef TEST_CPU_FEATURES_H +#define TEST_CPU_FEATURES_H + +#ifndef DISABLE_RUNTIME_CPU_DETECTION + +# include "cpu_features.h" + +extern struct cpu_features test_cpu_features; + +#endif + +#endif diff --git a/neozip/test/test_crc32.cc b/neozip/test/test_crc32.cc new file mode 100644 index 0000000000..1fb0771119 --- /dev/null +++ b/neozip/test/test_crc32.cc @@ -0,0 +1,146 @@ +/* test_crc32.cc -- crc32 unit test + * Copyright (C) 2019-2021 IBM Corporation + * Authors: Rogerio Alves <rogealve@br.ibm.com> + * Matheus Castanho <msc@linux.ibm.com> + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <gtest/gtest.h> + +extern "C" { +# include "zutil_p.h" +# include "zbuild.h" +# include "arch_functions.h" +# include "test_cpu_features.h" +# include "hash_test_strings_p.h" +} + +class crc32_variant : public ::testing::TestWithParam<hash_test> { +public: + void hash(hash_test param, crc32_func crc32) { + uint32_t crc = crc32(param.initial_crc, param.buf, param.len); + EXPECT_EQ(crc, param.expect_crc); + } +}; + +/* Specifically to test where we had dodgy alignment in the ARMv8 CRC32 + * function. All others are either byte level access or use intrinsics + * that work with unaligned access */ +class crc32_align : public ::testing::TestWithParam<int> { +public: + void hash(int param, crc32_func crc32) { + uint8_t *buf = (uint8_t*)zng_alloc(sizeof(uint8_t) * (128 + param)); + memset(buf + param, 0, 128); + (void)crc32(0, buf + param, 128); + zng_free(buf); + } +}; + +/* Test large 1MB buffer with known CRC32 */ +class crc32_large_buf : public ::testing::Test { +protected: + static uint8_t *buffer; + static const size_t buffer_size = 1024 * 1024; + + static void SetUpTestSuite() { + buffer = (uint8_t*)zng_alloc(buffer_size); + memset(buffer, 0x55, buffer_size); + } + + static void TearDownTestSuite() { + zng_free(buffer); + } + +public: + void hash(crc32_func crc32) { + EXPECT_EQ(crc32(0, buffer, buffer_size), 0x0026D5FB); + } +}; + +uint8_t *crc32_large_buf::buffer = nullptr; + +INSTANTIATE_TEST_SUITE_P(crc32, crc32_variant, testing::ValuesIn(hash_tests)); + +#define TEST_CRC32(name, func, support_flag) \ + TEST_P(crc32_variant, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + hash(GetParam(), func); \ + } \ + TEST_F(crc32_large_buf, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + hash(func); \ + } + +TEST_CRC32(braid, crc32_braid, 1) + +#ifdef DISABLE_RUNTIME_CPU_DETECTION +TEST_CRC32(native, native_crc32, 1) + +#else + +#if defined(ARM_CRC32) || defined(LOONGARCH_CRC) +static const int align_offsets[] = { + 1, 2, 3, 4, 5, 6, 7 +}; + +#define TEST_CRC32_ALIGN(name, func, support_flag) \ + TEST_P(crc32_align, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + hash(GetParam(), func); \ + } +#endif + +#ifndef WITHOUT_CHORBA +TEST_CRC32(chorba_c, crc32_chorba, 1) +#endif +#ifdef ARM_CRC32 +INSTANTIATE_TEST_SUITE_P(crc32_alignment, crc32_align, testing::ValuesIn(align_offsets)); +TEST_CRC32(armv8, crc32_armv8, test_cpu_features.arm.has_crc32) +TEST_CRC32_ALIGN(armv8_align, crc32_armv8, test_cpu_features.arm.has_crc32) +#endif +#ifdef ARM_PMULL_EOR3 +TEST_CRC32(armv8_pmull_eor3, crc32_armv8_pmull_eor3, test_cpu_features.arm.has_crc32 && test_cpu_features.arm.has_pmull && test_cpu_features.arm.has_eor3) +TEST_CRC32_ALIGN(armv8_pmull_eor3_align, crc32_armv8_pmull_eor3, test_cpu_features.arm.has_crc32 && test_cpu_features.arm.has_pmull && test_cpu_features.arm.has_eor3) +#endif +#ifdef RISCV_CRC32_ZBC +TEST_CRC32(riscv, crc32_riscv64_zbc, test_cpu_features.riscv.has_zbc) +#endif +#ifdef POWER8_VSX_CRC32 +TEST_CRC32(power8, crc32_power8, test_cpu_features.power.has_arch_2_07) +#endif +#ifdef S390_CRC32_VX +TEST_CRC32(vx, crc32_s390_vx, test_cpu_features.s390.has_vx) +#endif +#ifdef X86_PCLMULQDQ_CRC +TEST_CRC32(pclmulqdq, crc32_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) +#endif +#ifdef X86_VPCLMULQDQ_AVX2 +TEST_CRC32(vpclmulqdq_avx2, crc32_vpclmulqdq_avx2, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx2 && test_cpu_features.x86.has_vpclmulqdq)) +#endif +#ifdef X86_VPCLMULQDQ_AVX512 +TEST_CRC32(vpclmulqdq_avx512, crc32_vpclmulqdq_avx512, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)) +#endif +#ifndef WITHOUT_CHORBA_SSE +# ifdef X86_SSE2 + TEST_CRC32(chorba_sse2, crc32_chorba_sse2, test_cpu_features.x86.has_sse2) +# endif +# ifdef X86_SSE41 + TEST_CRC32(chorba_sse41, crc32_chorba_sse41, test_cpu_features.x86.has_sse41) +# endif +#endif +#ifdef LOONGARCH_CRC +INSTANTIATE_TEST_SUITE_P(crc32_alignment, crc32_align, testing::ValuesIn(align_offsets)); +TEST_CRC32(loongarch64, crc32_loongarch64, test_cpu_features.loongarch.has_crc) +TEST_CRC32_ALIGN(loongarch64_align, crc32_loongarch64, test_cpu_features.loongarch.has_crc) +#endif + +#endif diff --git a/neozip/test/test_crc32_copy.cc b/neozip/test/test_crc32_copy.cc new file mode 100644 index 0000000000..fa3059e544 --- /dev/null +++ b/neozip/test/test_crc32_copy.cc @@ -0,0 +1,89 @@ +/* test_crc32_copy.cc -- test for crc32 implementations while copying + * Copyright (C) 2025 Hans Kristian Rosbach + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +#include <gtest/gtest.h> + +extern "C" { +# include "zbuild.h" +# include "arch_functions.h" +# include "test_cpu_features.h" +# include "hash_test_strings_p.h" +} + +class crc32_copy_variant : public ::testing::TestWithParam<hash_test> { +protected: + uint8_t dstbuf[HASH_TEST_MAX_LENGTH]; + +public: + /* Ensure that crc32 copy functions returns the correct crc and copies the data */ + void crc32_copy_test(crc32_copy_func copyfunc, hash_test params) { + ASSERT_LE(params.len, HASH_TEST_MAX_LENGTH); + + uint32_t crc = copyfunc(params.initial_crc, dstbuf, params.buf, params.len); + + EXPECT_EQ(crc, params.expect_crc); + EXPECT_EQ(0, memcmp(params.buf, dstbuf, params.len)); + } +}; + +INSTANTIATE_TEST_SUITE_P(crc32_copy, crc32_copy_variant, testing::ValuesIn(hash_tests)); + +#define TEST_CRC32_COPY(name, copyfunc, support_flag) \ + TEST_P(crc32_copy_variant, name) { \ + if (!(support_flag)) { \ + GTEST_SKIP(); \ + return; \ + } \ + crc32_copy_test(copyfunc, GetParam()); \ + } + +// Base test +TEST_CRC32_COPY(braid, crc32_copy_braid, 1) + +#ifdef DISABLE_RUNTIME_CPU_DETECTION + // Native test + TEST_CRC32_COPY(native, native_crc32_copy, 1) +#else + // Optimized functions +# ifndef WITHOUT_CHORBA + TEST_CRC32_COPY(chorba, crc32_copy_chorba, 1) +# endif +# ifndef WITHOUT_CHORBA_SSE +# ifdef X86_SSE2 + TEST_CRC32_COPY(chorba_sse2, crc32_copy_chorba_sse2, test_cpu_features.x86.has_sse2) +# endif +# ifdef X86_SSE41 + TEST_CRC32_COPY(chorba_sse41, crc32_copy_chorba_sse41, test_cpu_features.x86.has_sse41) +# endif +# endif +# ifdef ARM_CRC32 + TEST_CRC32_COPY(armv8, crc32_copy_armv8, test_cpu_features.arm.has_crc32) +# endif +# ifdef ARM_PMULL_EOR3 + TEST_CRC32_COPY(armv8_pmull_eor3, crc32_copy_armv8_pmull_eor3, test_cpu_features.arm.has_crc32 && test_cpu_features.arm.has_pmull && test_cpu_features.arm.has_eor3) +# endif +# ifdef LOONGARCH_CRC + TEST_CRC32_COPY(loongarch, crc32_copy_loongarch64, test_cpu_features.loongarch.has_crc) +# endif +# ifdef RISCV_CRC32_ZBC + TEST_CRC32_COPY(riscv, crc32_copy_riscv64_zbc, test_cpu_features.riscv.has_zbc) +# endif +# ifdef POWER8_VSX_CRC32 + TEST_CRC32_COPY(power8, crc32_copy_power8, test_cpu_features.power.has_arch_2_07) +# endif +# ifdef S390_CRC32_VX + TEST_CRC32_COPY(vx, crc32_copy_s390_vx, test_cpu_features.s390.has_vx) +# endif +# ifdef X86_PCLMULQDQ_CRC + TEST_CRC32_COPY(pclmulqdq, crc32_copy_pclmulqdq, test_cpu_features.x86.has_pclmulqdq) +# endif +# ifdef X86_VPCLMULQDQ_AVX2 + TEST_CRC32_COPY(vpclmulqdq_avx2, crc32_copy_vpclmulqdq_avx2, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx2 && test_cpu_features.x86.has_vpclmulqdq)) +# endif +# ifdef X86_VPCLMULQDQ_AVX512 + TEST_CRC32_COPY(vpclmulqdq_avx512, crc32_copy_vpclmulqdq_avx512, (test_cpu_features.x86.has_pclmulqdq && test_cpu_features.x86.has_avx512_common && test_cpu_features.x86.has_vpclmulqdq)) +# endif + +#endif diff --git a/neozip/test/test_cve-2003-0107.cc b/neozip/test/test_cve-2003-0107.cc new file mode 100644 index 0000000000..9d9e5b00df --- /dev/null +++ b/neozip/test/test_cve-2003-0107.cc @@ -0,0 +1,28 @@ +// https://www.securityfocus.com/archive/1/312869 --- originally by Richard Kettlewell +#include <stdlib.h> +#include <errno.h> +#include <stdio.h> + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <gtest/gtest.h> + +#if !defined(_WIN32) && defined(ZLIB_COMPAT) +TEST(gzip, cve_2003_0107) { + gzFile f; + int ret; + + f = gzopen("/dev/null", "w"); + EXPECT_TRUE(f != NULL); + + ret = gzprintf(f, "%10240s", ""); + printf("gzprintf -> %d\n", ret); + ret = gzclose(f); + printf("gzclose -> %d [%d]\n", ret, errno); +} +#endif diff --git a/neozip/test/test_deflate.cc b/neozip/test/test_deflate.cc new file mode 100644 index 0000000000..4927c821e9 --- /dev/null +++ b/neozip/test/test_deflate.cc @@ -0,0 +1,150 @@ +/* test_deflate.cc -- Test deflate/inflate round-trip with various levels, sizes, and strategies */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "compressible_data_p.h" +#include "test_shared.h" + +#define MAX_SIZE (1024 * 1024) + +class deflate_variant : public testing::TestWithParam<std::tuple<size_t, int, int, int>> { +public: + static void SetUpTestSuite() { + inbuf = gen_compressible_data(MAX_SIZE); + ASSERT_TRUE(inbuf != NULL); + } + static void TearDownTestSuite() { + free(inbuf); + inbuf = NULL; + } + void SetUp() override { + compbuf = NULL; + decompbuf = NULL; + } + void TearDown() override { + free(compbuf); + free(decompbuf); + } + + static uint8_t *inbuf; + uint8_t *compbuf; + uint8_t *decompbuf; +}; + +uint8_t *deflate_variant::inbuf = NULL; + +TEST_P(deflate_variant, round_trip) { + size_t size = std::get<0>(GetParam()); + int level = std::get<1>(GetParam()); + int window_bits = std::get<2>(GetParam()); + int strategy = std::get<3>(GetParam()); + PREFIX3(stream) c_stream, d_stream; + int err; + + /* Allocate output buffer */ + unsigned long compbuf_size = PREFIX(deflateBound)(NULL, (unsigned long)size); + compbuf = (uint8_t *)malloc((size_t)compbuf_size); + ASSERT_TRUE(compbuf != NULL); + + /* Compress */ + memset(&c_stream, 0, sizeof(c_stream)); + err = PREFIX(deflateInit2)(&c_stream, level, Z_DEFLATED, + window_bits, MAX_MEM_LEVEL, strategy); + ASSERT_EQ(err, Z_OK) << "deflateInit2 failed"; + + c_stream.next_in = inbuf; + c_stream.avail_in = (uint32_t)size; + c_stream.next_out = compbuf; + c_stream.avail_out = (uint32_t)compbuf_size; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + ASSERT_EQ(err, Z_STREAM_END) << + "size: " << size << "\n" << + "level: " << level << "\n" << + "window_bits: " << window_bits << "\n" << + "strategy: " << strategy; + + size_t comp_size = (size_t)c_stream.total_out; + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + /* Decompress and verify round-trip */ + decompbuf = (uint8_t *)malloc(size); + ASSERT_TRUE(decompbuf != NULL); + + memset(&d_stream, 0, sizeof(d_stream)); + err = PREFIX(inflateInit2)(&d_stream, window_bits); + ASSERT_EQ(err, Z_OK) << "inflateInit2 failed"; + + d_stream.next_in = compbuf; + d_stream.avail_in = (uint32_t)comp_size; + d_stream.next_out = decompbuf; + d_stream.avail_out = (uint32_t)size; + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + ASSERT_EQ(err, Z_STREAM_END) << + "size: " << size << "\n" << + "level: " << level << "\n" << + "window_bits: " << window_bits << "\n" << + "strategy: " << strategy; + + EXPECT_EQ(d_stream.total_in, comp_size); + EXPECT_EQ(d_stream.total_out, size); + EXPECT_EQ(memcmp(inbuf, decompbuf, size), 0) << "round-trip data mismatch"; + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); +} + +static std::string deflate_test_name(const testing::TestParamInfo<deflate_variant::ParamType> &info) { + size_t size = std::get<0>(info.param); + int level = std::get<1>(info.param); + int window_bits = std::get<2>(info.param); + int strategy = std::get<3>(info.param); + + char size_str[32]; + if (size >= 1048576 && size % 1048576 == 0) + snprintf(size_str, sizeof(size_str), "%zuM", size / 1048576); + else if (size >= 1024 && size % 1024 == 0) + snprintf(size_str, sizeof(size_str), "%zuK", size / 1024); + else + snprintf(size_str, sizeof(size_str), "%zu", size); + + const char *wrap_str = (window_bits < 0) ? "raw" : "zlib"; + + const char *strategy_str; + switch (strategy) { + case Z_FILTERED: strategy_str = "filtered"; break; + case Z_HUFFMAN_ONLY: strategy_str = "huffman"; break; + case Z_RLE: strategy_str = "rle"; break; + case Z_FIXED: strategy_str = "fixed"; break; + default: strategy_str = "default"; break; + } + + char name[64]; + snprintf(name, sizeof(name), "%s_level%d_%s_%s", size_str, level, wrap_str, strategy_str); + return name; +} + +INSTANTIATE_TEST_SUITE_P(deflate, deflate_variant, + testing::Combine( + testing::Values(1024, 16384, 131072, 1048576), /* size */ + testing::Values(1, 3, 6, 9), /* level */ + testing::Values(MAX_WBITS, -MAX_WBITS), /* window_bits */ + testing::Values(Z_DEFAULT_STRATEGY, Z_FILTERED, + Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED) /* strategy */ + ), + deflate_test_name); diff --git a/neozip/test/test_deflate_bound.cc b/neozip/test/test_deflate_bound.cc new file mode 100644 index 0000000000..c86d4e00b0 --- /dev/null +++ b/neozip/test/test_deflate_bound.cc @@ -0,0 +1,99 @@ +/* test_deflate_bound.cc - Test deflateBound() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define MAX_LENGTH (32) + +typedef struct { + int32_t level; + int32_t window_size; + int32_t mem_level; + bool after_init; +} deflate_bound_test; + +static const deflate_bound_test tests[] = { + {0, MAX_WBITS + 16, 1, true}, + {Z_BEST_SPEED, MAX_WBITS, MAX_MEM_LEVEL, true}, + {Z_BEST_COMPRESSION, MAX_WBITS, MAX_MEM_LEVEL, true}, + {Z_BEST_SPEED, MAX_WBITS, MAX_MEM_LEVEL, false}, + {Z_BEST_COMPRESSION, MAX_WBITS, MAX_MEM_LEVEL, false}, +}; + +class deflate_bound_variant : public testing::TestWithParam<deflate_bound_test> { +public: + void estimate(deflate_bound_test param) { + PREFIX3(stream) c_stream; + int estimate_len = 0; + uint8_t *uncompressed = NULL; + uint8_t *out_buf = NULL; + int err; + + uncompressed = (uint8_t *)malloc(MAX_LENGTH); + ASSERT_TRUE(uncompressed != NULL); + memset(uncompressed, 'a', MAX_LENGTH); + + for (int32_t i = 0; i < MAX_LENGTH; i++) { + memset(&c_stream, 0, sizeof(c_stream)); + + c_stream.avail_in = i; + c_stream.next_in = (z_const unsigned char *)uncompressed; + c_stream.avail_out = 0; + c_stream.next_out = out_buf; + + if (!param.after_init) + estimate_len = PREFIX(deflateBound)(&c_stream, i); + + err = PREFIX(deflateInit2)(&c_stream, param.level, Z_DEFLATED, + param.window_size, param.mem_level, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + /* calculate actual output length and update structure */ + if (param.after_init) + estimate_len = PREFIX(deflateBound)(&c_stream, i); + out_buf = (uint8_t *)malloc(estimate_len); + + if (out_buf != NULL) { + /* update zlib configuration */ + c_stream.avail_out = estimate_len; + c_stream.next_out = out_buf; + + /* do the compression */ + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END) << + "level: " << param.level << "\n" << + "window_size: " << param.window_size << "\n" << + "mem_level: " << param.mem_level << "\n" << + "after_init: " << param.after_init << "\n" << + "length: " << i; + + free(out_buf); + out_buf = NULL; + } + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + } + + free(uncompressed); + } +}; + +TEST_P(deflate_bound_variant, estimate) { + estimate(GetParam()); +} + +INSTANTIATE_TEST_SUITE_P(deflate_bound, deflate_bound_variant, testing::ValuesIn(tests)); diff --git a/neozip/test/test_deflate_concurrency.cc b/neozip/test/test_deflate_concurrency.cc new file mode 100644 index 0000000000..1297aee644 --- /dev/null +++ b/neozip/test/test_deflate_concurrency.cc @@ -0,0 +1,170 @@ +/* Test deflate() on concurrently modified next_in. + * + * Plain zlib does not document that this is supported, but in practice it tolerates this, and QEMU live migration is + * known to rely on this. Make sure zlib-ng tolerates this as well. + */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +#include "zlib.h" +#else +#include "zlib-ng.h" +#endif + +#include <gtest/gtest.h> + +#include <algorithm> +#include <atomic> +#include <cstring> +#include <thread> + +static uint8_t buf[8 * 1024]; +static uint8_t zbuf[4 * 1024]; +static uint8_t tmp[8 * 1024]; + +/* Thread that increments all bytes in buf by 1. */ +class Mutator { + enum class State { + PAUSED, + RUNNING, + STOPPED, + }; + +public: + Mutator() + : m_state(State::PAUSED), m_target_state(State::PAUSED), + m_thread(&Mutator::run, this) {} + ~Mutator() { + transition(State::STOPPED); + m_thread.join(); + } + + void pause() { + transition(State::PAUSED); + } + + void resume() { + transition(State::RUNNING); + } + +private: + void run() { + while (true) { + m_state.store(m_target_state); + if (m_state == State::PAUSED) + continue; + if (m_state == State::STOPPED) + break; + for (uint8_t & i: buf) + i++; + } + } + + void transition(State target_state) { + m_target_state = target_state; + while (m_state != target_state) { + } + } + + std::atomic<State> m_state, m_target_state; + std::thread m_thread; +}; + +TEST(deflate, concurrency) { +#ifdef S390_DFLTCC_DEFLATE + GTEST_SKIP() << "Known to be broken with S390_DFLTCC_DEFLATE"; +#endif + + /* Create reusable mutator and streams. */ + Mutator mutator; + + PREFIX3(stream) dstrm; + memset(&dstrm, 0, sizeof(dstrm)); + int err = PREFIX(deflateInit2)(&dstrm, Z_BEST_SPEED, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY); + ASSERT_EQ(Z_OK, err) << dstrm.msg; + + PREFIX3(stream) istrm; + memset(&istrm, 0, sizeof(istrm)); + err = PREFIX(inflateInit2)(&istrm, -15); + ASSERT_EQ(Z_OK, err) << istrm.msg; + + /* Iterate for a certain amount of time. */ + auto deadline = std::chrono::steady_clock::now() + std::chrono::seconds(1); + while (std::chrono::steady_clock::now() < deadline) { + /* Start each iteration with a fresh stream state. */ + err = PREFIX(deflateReset)(&dstrm); + ASSERT_EQ(Z_OK, err) << dstrm.msg; + + err = PREFIX(inflateReset)(&istrm); + ASSERT_EQ(Z_OK, err) << istrm.msg; + + /* Mutate and compress the first half of buf concurrently. + * Decompress and throw away the results, which are unpredictable. + */ + mutator.resume(); + dstrm.next_in = buf; + dstrm.avail_in = sizeof(buf) / 2; + while (dstrm.avail_in > 0) { + dstrm.next_out = zbuf; + dstrm.avail_out = sizeof(zbuf); + err = PREFIX(deflate)(&dstrm, Z_NO_FLUSH); + ASSERT_EQ(Z_OK, err) << dstrm.msg; + istrm.next_in = zbuf; + istrm.avail_in = sizeof(zbuf) - dstrm.avail_out; + while (istrm.avail_in > 0) { + istrm.next_out = tmp; + istrm.avail_out = sizeof(tmp); + err = PREFIX(inflate)(&istrm, Z_NO_FLUSH); + ASSERT_EQ(Z_OK, err) << istrm.msg; + } + } + + /* Stop mutation and compress the second half of buf. + * Decompress and check that the result matches. + */ + mutator.pause(); + dstrm.next_in = buf + sizeof(buf) / 2; + dstrm.avail_in = sizeof(buf) - sizeof(buf) / 2; + while (dstrm.avail_in > 0) { + dstrm.next_out = zbuf; + dstrm.avail_out = sizeof(zbuf); + err = PREFIX(deflate)(&dstrm, Z_FINISH); + if (err == Z_STREAM_END) + ASSERT_EQ(0u, dstrm.avail_in); + else + ASSERT_EQ(Z_OK, err) << dstrm.msg; + istrm.next_in = zbuf; + istrm.avail_in = sizeof(zbuf) - dstrm.avail_out; + while (istrm.avail_in > 0) { + size_t orig_total_out = istrm.total_out; + istrm.next_out = tmp; + istrm.avail_out = sizeof(tmp); + err = PREFIX(inflate)(&istrm, Z_NO_FLUSH); + if (err == Z_STREAM_END) + ASSERT_EQ(0u, istrm.avail_in); + else + ASSERT_EQ(Z_OK, err) << istrm.msg; + size_t concurrent_size = sizeof(buf) - sizeof(buf) / 2; + if (istrm.total_out > concurrent_size) { + size_t tmp_offset, buf_offset, size; + if (orig_total_out >= concurrent_size) { + tmp_offset = 0; + buf_offset = orig_total_out - concurrent_size; + size = istrm.total_out - orig_total_out; + } else { + tmp_offset = concurrent_size - orig_total_out; + buf_offset = 0; + size = istrm.total_out - concurrent_size; + } + ASSERT_EQ(0, memcmp(tmp + tmp_offset, buf + sizeof(buf) / 2 + buf_offset, size)); + } + } + } + } + + err = PREFIX(inflateEnd)(&istrm); + ASSERT_EQ(Z_OK, err) << istrm.msg; + + err = PREFIX(deflateEnd)(&dstrm); + ASSERT_EQ(Z_OK, err) << istrm.msg; +} diff --git a/neozip/test/test_deflate_copy.cc b/neozip/test/test_deflate_copy.cc new file mode 100644 index 0000000000..4adc9be967 --- /dev/null +++ b/neozip/test/test_deflate_copy.cc @@ -0,0 +1,60 @@ +/* test_deflate_copy.cc - Test deflateCopy() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "deflate.h" + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate, copy) { + PREFIX3(stream) c_stream, c_stream_copy; + uint8_t compr[128]; + z_size_t compr_len = sizeof(compr); + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&c_stream_copy, 0, sizeof(c_stream_copy)); + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != hello_len && c_stream.total_out < compr_len) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(deflateCopy)(&c_stream_copy, &c_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_EQ(c_stream.state->status, c_stream_copy.state->status); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflateEnd)(&c_stream_copy); + EXPECT_EQ(err, Z_OK); +} diff --git a/neozip/test/test_deflate_deterministic.cc b/neozip/test/test_deflate_deterministic.cc new file mode 100644 index 0000000000..5cb5cb4ff1 --- /dev/null +++ b/neozip/test/test_deflate_deterministic.cc @@ -0,0 +1,71 @@ +/* test_deflate_deterministic.cc - Test deterministic output after deflateReset */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <string> +#include <gtest/gtest.h> + +#include "deflate.h" +#include "test_shared.h" + + + +/* Issue: https://github.com/zlib-ng/zlib-ng/issues/2100 */ + +/* len(data_b) must be greater len(data_a) */ +static const uint8_t data_a[] = { 0 , 'A', 'A', 'A', 'A', 0 , 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A' }; +static const uint8_t data_b[] = { 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B' }; + +static std::string compress_data(const uint8_t *src, size_t len, PREFIX3(stream)* z_stream) { + const uint32_t buffer_size = 1024; + uint8_t buffer[buffer_size]; + int err; + + z_stream->next_in = (z_const uint8_t *)src; + z_stream->avail_in = (uint32_t)len; + z_stream->next_out = buffer; + z_stream->avail_out = buffer_size; + err = PREFIX(deflate)(z_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + return std::string((const char *)buffer, (size_t)(z_stream->next_out - buffer)); +} + +TEST(deflate, deterministic) { + const int compression_level = 6; + const int window_bits = 15; + int err; + + PREFIX3(stream) a_stream; + memset(&a_stream, 0, sizeof(a_stream)); + + /* Compress a with newly created z_stream. */ + err = PREFIX(deflateInit2)(&a_stream, compression_level, Z_DEFLATED, window_bits, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + const std::string a_compressed = compress_data(data_a, sizeof(data_a), &a_stream); + err = PREFIX(deflateEnd)(&a_stream); + EXPECT_EQ(err, Z_OK); + + /* Compress b with newly created z_stream. */ + PREFIX3(stream) b_stream; + memset(&b_stream, 0, sizeof(b_stream)); + + err = PREFIX(deflateInit2)(&b_stream, compression_level, Z_DEFLATED, window_bits, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + const std::string b_compressed = compress_data(data_b, sizeof(data_b), &b_stream); + + /* Reset the stream. */ + err = PREFIX(deflateReset)(&b_stream); + EXPECT_EQ(err, Z_OK); + + const std::string a_compressed2 = compress_data(data_a, sizeof(data_a), &b_stream); + err = PREFIX(deflateEnd)(&b_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_EQ(a_compressed, a_compressed2); +} diff --git a/neozip/test/test_deflate_dict.cc b/neozip/test/test_deflate_dict.cc new file mode 100644 index 0000000000..781c70db27 --- /dev/null +++ b/neozip/test/test_deflate_dict.cc @@ -0,0 +1,54 @@ +/* test_deflate_dict.cc - Test deflateGetDictionary() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +TEST(deflate, dictionary) { + PREFIX3(stream) c_stream; + uint8_t compr[128]; + uint32_t compr_len = sizeof(compr); + uint8_t *dict_new = NULL; + uint32_t *dict_len; + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_out = compr; + c_stream.avail_out = compr_len; + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (uint32_t)hello_len; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + dict_new = (uint8_t *)calloc(256, 1); + ASSERT_TRUE(dict_new != NULL); + dict_len = (uint32_t *)calloc(4, 1); + ASSERT_TRUE(dict_len != NULL); + + err = PREFIX(deflateGetDictionary)(&c_stream, dict_new, dict_len); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + free(dict_new); + free(dict_len); +} diff --git a/neozip/test/test_deflate_hash_head_0.cc b/neozip/test/test_deflate_hash_head_0.cc new file mode 100644 index 0000000000..cbf601038c --- /dev/null +++ b/neozip/test/test_deflate_hash_head_0.cc @@ -0,0 +1,83 @@ +/* Generated by fuzzing - test hash_head == 0 handling. */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate, hash_head_0) { + PREFIX3(stream) strm; + int err; + + memset(&strm, 0, sizeof(strm)); + err = PREFIX(deflateInit2)(&strm, 1, Z_DEFLATED, -15, 4, Z_HUFFMAN_ONLY); + EXPECT_EQ(err, Z_OK); + + unsigned char next_in[9698]; + memset(next_in, 0x30, sizeof(next_in)); + next_in[8193] = 0x00; + next_in[8194] = 0x00; + next_in[8195] = 0x00; + next_in[8199] = 0x8a; + strm.next_in = next_in; + unsigned char next_out[21572]; + strm.next_out = next_out; + + strm.avail_in = 0; + strm.avail_out = 1348; + err = PREFIX(deflateParams(&strm, 3, Z_FILTERED)); + EXPECT_EQ(err, Z_OK); + + strm.avail_in = 6728; + strm.avail_out = 2696; + err = PREFIX(deflate(&strm, Z_SYNC_FLUSH)); + EXPECT_EQ(err, Z_OK); + + strm.avail_in = 15; + strm.avail_out = 1348; + err = PREFIX(deflateParams(&strm, 9, Z_FILTERED)); + EXPECT_EQ(err, Z_OK); + + strm.avail_in = 1453; + strm.avail_out = 1348; + err = PREFIX(deflate(&strm, Z_FULL_FLUSH)); + EXPECT_EQ(err, Z_OK); + + strm.avail_in = (uint32_t)(next_in + sizeof(next_in) - strm.next_in); + strm.avail_out = (uint32_t)(next_out + sizeof(next_out) - strm.next_out); + err = PREFIX(deflate)(&strm, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + uint32_t compressed_size = (uint32_t)(strm.next_out - next_out); + + err = PREFIX(deflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); + + memset(&strm, 0, sizeof(strm)); + err = PREFIX(inflateInit2)(&strm, -MAX_WBITS); + EXPECT_EQ(err, Z_OK); + + strm.next_in = next_out; + strm.avail_in = compressed_size; + unsigned char uncompressed[sizeof(next_in)]; + strm.next_out = uncompressed; + strm.avail_out = sizeof(uncompressed); + + err = PREFIX(inflate)(&strm, Z_NO_FLUSH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(inflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(memcmp(uncompressed, next_in, sizeof(uncompressed)) == 0); +} diff --git a/neozip/test/test_deflate_header.cc b/neozip/test/test_deflate_header.cc new file mode 100644 index 0000000000..0d1b7d0443 --- /dev/null +++ b/neozip/test/test_deflate_header.cc @@ -0,0 +1,71 @@ +/* test_deflate_header.cc - Test deflateSetHeader() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +TEST(deflate, header) { + PREFIX3(stream) c_stream; + PREFIX(gz_header) *head; + uint8_t compr[128]; + z_size_t compr_len = sizeof(compr); + int err; + + head = (PREFIX(gz_header) *)calloc(1, sizeof(PREFIX(gz_header))); + ASSERT_TRUE(head != NULL); + + memset(&c_stream, 0, sizeof(c_stream)); + + /* gzip */ + err = PREFIX(deflateInit2)(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, MAX_WBITS + 16, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + head->text = 1; + head->comment = (uint8_t *)"comment"; + head->name = (uint8_t *)"name"; + head->hcrc = 1; + head->extra = (uint8_t *)"extra"; + head->extra_len = (uint32_t)strlen((const char *)head->extra); + + err = PREFIX(deflateSetHeader)(&c_stream, head); + EXPECT_EQ(err, Z_OK); + + PREFIX(deflateBound)(&c_stream, (unsigned long)compr_len); + + c_stream.next_in = (unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != hello_len && c_stream.total_out < compr_len) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + /* Check CRC32. */ + EXPECT_EQ(c_stream.adler, 0xb56c3f9dU); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + free(head); +} diff --git a/neozip/test/test_deflate_params.cc b/neozip/test/test_deflate_params.cc new file mode 100644 index 0000000000..9fadea85f9 --- /dev/null +++ b/neozip/test/test_deflate_params.cc @@ -0,0 +1,143 @@ +/* test_deflate_params.cc - Test deflate() with dynamic change of compression level */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <inttypes.h> +#include <time.h> + +#include "deflate.h" + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define COMPR_BUFFER_SIZE (48 * 1024) +#define UNCOMPR_BUFFER_SIZE (64 * 1024) +#define UNCOMPR_RAND_SIZE (8 * 1024) + +TEST(deflate, params) { + PREFIX3(stream) c_stream, d_stream; + uint8_t *compr, *uncompr; + uint32_t compr_len, uncompr_len; + uint32_t diff; + int32_t i; + time_t now; + int err; +#ifndef ZLIB_COMPAT + int level = -1; + int strategy = -1; + zng_deflate_param_value params[2]; + + params[0].param = Z_DEFLATE_LEVEL; + params[0].buf = &level; + params[0].size = sizeof(level); + + params[1].param = Z_DEFLATE_STRATEGY; + params[1].buf = &strategy; + params[1].size = sizeof(strategy); +#endif + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&d_stream, 0, sizeof(d_stream)); + + compr = (uint8_t *)calloc(1, COMPR_BUFFER_SIZE); + ASSERT_TRUE(compr != NULL); + uncompr = (uint8_t *)calloc(1, UNCOMPR_BUFFER_SIZE); + ASSERT_TRUE(uncompr != NULL); + + compr_len = COMPR_BUFFER_SIZE; + uncompr_len = UNCOMPR_BUFFER_SIZE; + + srand((unsigned)time(&now)); + for (i = 0; i < UNCOMPR_RAND_SIZE; i++) + uncompr[i] = (uint8_t)(rand() % 256); + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_SPEED); + EXPECT_EQ(err, Z_OK); + + c_stream.next_out = compr; + c_stream.avail_out = compr_len; + c_stream.next_in = uncompr; + c_stream.avail_in = uncompr_len; + + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + EXPECT_EQ(c_stream.avail_in, 0); + + /* Feed in already compressed data and switch to no compression: */ +#ifndef ZLIB_COMPAT + zng_deflateGetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); + EXPECT_EQ(level, Z_BEST_SPEED); + EXPECT_EQ(strategy, Z_DEFAULT_STRATEGY); + + level = Z_NO_COMPRESSION; + strategy = Z_DEFAULT_STRATEGY; + zng_deflateSetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); +#else + PREFIX(deflateParams)(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); +#endif + + c_stream.next_in = compr; + diff = (unsigned int)(c_stream.next_out - compr); + c_stream.avail_in = diff; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + + /* Switch back to compressing mode: */ +#ifndef ZLIB_COMPAT + level = -1; + strategy = -1; + zng_deflateGetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); + EXPECT_EQ(level, Z_NO_COMPRESSION); + EXPECT_EQ(strategy, Z_DEFAULT_STRATEGY); + + level = Z_BEST_COMPRESSION; + strategy = Z_FILTERED; + zng_deflateSetParams(&c_stream, params, sizeof(params) / sizeof(params[0])); +#else + PREFIX(deflateParams)(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED); +#endif + + c_stream.next_in = uncompr; + c_stream.avail_in = (unsigned int)uncompr_len; + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)compr_len; + + err = PREFIX(inflateInit)(&d_stream); + EXPECT_EQ(err, Z_OK); + + do { + d_stream.next_out = uncompr; /* discard the output */ + d_stream.avail_out = uncompr_len; + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + EXPECT_EQ(err, Z_OK); + } while (err == Z_OK); + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_EQ(d_stream.total_out, (2 * uncompr_len) + diff); + + free(compr); + free(uncompr); +} diff --git a/neozip/test/test_deflate_pending.cc b/neozip/test/test_deflate_pending.cc new file mode 100644 index 0000000000..8ccedbf33d --- /dev/null +++ b/neozip/test/test_deflate_pending.cc @@ -0,0 +1,66 @@ +/* test_deflate_pending.cc - Test deflatePending() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +TEST(deflate, pending) { + PREFIX3(stream) c_stream; + uint8_t compr[128]; + z_size_t compr_len = sizeof(compr); + int *bits; + unsigned *ped; + int err; + + + bits = (int *)calloc(256, 1); + ASSERT_TRUE(bits != NULL); + ped = (unsigned *)calloc(256, 1); + ASSERT_TRUE(ped != NULL); + + memset(&c_stream, 0, sizeof(c_stream)); + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != hello_len && c_stream.total_out < compr_len) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(deflatePending)(&c_stream, ped, bits); + EXPECT_EQ(err, Z_OK); + + EXPECT_GE(*bits, 0); + EXPECT_LE(*bits, 7); + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + free(bits); + free(ped); +} diff --git a/neozip/test/test_deflate_prime.cc b/neozip/test/test_deflate_prime.cc new file mode 100644 index 0000000000..75dcf3177a --- /dev/null +++ b/neozip/test/test_deflate_prime.cc @@ -0,0 +1,91 @@ +/* test_deflate_prime.cc - Test deflatePrime() wrapping gzip around deflate stream */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared_ng.h" + +#include <gtest/gtest.h> + +TEST(deflate, prime) { + PREFIX3(stream) c_stream, d_stream; + uint8_t compr[128], uncompr[128]; + z_size_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + uint32_t crc = 0; + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&d_stream, 0, sizeof(d_stream)); + + /* Raw deflate windowBits is -15 */ + err = PREFIX(deflateInit2)(&c_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + /* Gzip magic number */ + err = PREFIX(deflatePrime)(&c_stream, 16, 0x8b1f); + EXPECT_EQ(err, Z_OK); + /* Gzip compression method (deflate) */ + err = PREFIX(deflatePrime)(&c_stream, 8, 0x08); + EXPECT_EQ(err, Z_OK); + /* Gzip flags (one byte, using two odd bit calls) */ + err = PREFIX(deflatePrime)(&c_stream, 3, 0x0); + EXPECT_EQ(err, Z_OK); + err = PREFIX(deflatePrime)(&c_stream, 5, 0x0); + EXPECT_EQ(err, Z_OK); + /* Gzip modified time */ + err = deflate_prime_32(&c_stream, 0x0); + EXPECT_EQ(err, Z_OK); + /* Gzip extra flags */ + err = PREFIX(deflatePrime)(&c_stream, 8, 0x0); + EXPECT_EQ(err, Z_OK); + /* Gzip operating system */ + err = PREFIX(deflatePrime)(&c_stream, 8, 255); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (uint32_t)hello_len; + c_stream.next_out = compr; + c_stream.avail_out = (uint32_t)compr_len; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + /* Gzip uncompressed data crc32 */ + crc = PREFIX(crc32)(0, (const uint8_t *)hello, (uint32_t)hello_len); + err = deflate_prime_32(&c_stream, crc); + EXPECT_EQ(err, Z_OK); + /* Gzip uncompressed data length */ + err = deflate_prime_32(&c_stream, (uint32_t)hello_len); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + d_stream.next_in = compr; + d_stream.avail_in = (uint32_t)c_stream.total_out; + d_stream.next_out = uncompr; + d_stream.avail_out = (uint32_t)uncompr_len; + d_stream.total_in = 0; + d_stream.total_out = 0; + + /* Inflate with gzip header */ + err = PREFIX(inflateInit2)(&d_stream, MAX_WBITS + 32); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + EXPECT_EQ(err, Z_BUF_ERROR); + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_STREQ((char *)uncompr, hello); +} diff --git a/neozip/test/test_deflate_quick_bi_valid.cc b/neozip/test/test_deflate_quick_bi_valid.cc new file mode 100644 index 0000000000..8ce4c229db --- /dev/null +++ b/neozip/test/test_deflate_quick_bi_valid.cc @@ -0,0 +1,80 @@ +/* Generated by fuzzing - test bi_valid handling in deflate_quick(). */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate_quick, bi_valid) { + PREFIX3(stream) strm; + int err; + + memset(&strm, 0, sizeof(strm)); + + err = PREFIX(deflateInit2)(&strm, 1, Z_DEFLATED, 31, 1, Z_FILTERED); + EXPECT_EQ(err, Z_OK); + + z_const unsigned char next_in[554] = { + 0x8d, 0xff, 0xff, 0xff, 0xa2, 0x00, 0x00, 0xff, 0x00, 0x15, 0x1b, 0x1b, 0xa2, 0xa2, 0xaf, 0xa2, + 0xa2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1b, 0x3f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0b, + 0x00, 0xab, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x2b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x1e, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x07, 0x01, 0x18, 0x00, 0x22, 0x00, + 0x00, 0x00, 0xfd, 0x39, 0xff, 0x00, 0x00, 0x00, 0x1b, 0xfd, 0x3b, 0x00, 0x68, 0x00, 0x00, 0x01, + 0xff, 0xff, 0xff, 0x57, 0xf8, 0x1e, 0x00, 0x00, 0xf2, 0xf2, 0xf2, 0xf2, 0xfa, 0xff, 0xff, 0xff, + 0xff, 0x7e, 0x00, 0x00, 0x4a, 0x00, 0xc5, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x02, 0x01, 0x01, 0x00, 0xa2, 0x08, 0x00, 0x00, 0x00, 0x00, 0x27, 0x4a, 0x4a, 0x4a, 0x32, + 0x00, 0xf9, 0xff, 0x00, 0x02, 0x9a, 0xff, 0x00, 0x00, 0x3f, 0x50, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x3d, 0x00, 0x08, 0x2f, 0x20, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7a, 0x7a, 0x9e, 0xff, 0xff, 0x00, 0x1b, 0x1b, 0x04, 0x00, 0x1b, 0x1b, + 0x1b, 0x1b, 0x00, 0x00, 0x00, 0xaf, 0xad, 0xaf, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x2e, 0xff, + 0xff, 0x2e, 0xc1, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x70, 0x00, 0x00, 0x00, 0xda, 0x67, 0x01, + 0x47, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x3f, + 0x54, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x34, 0x3e, 0xc5, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x00, 0x00, 0x00, 0x40, 0x1b, 0x1b, 0x88, 0x1b, 0x1b, + 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1f, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x50, 0x3e, 0x7a, 0x7a, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x87, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xff, 0x3d, 0x00, 0x11, 0x4d, 0x00, 0x00, 0x01, 0xd4, 0xd4, 0xd4, 0xd4, 0x2d, 0xd4, + 0xd4, 0xff, 0xff, 0xff, 0xfa, 0x01, 0xd4, 0x00, 0xd4, 0x00, 0x00, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, + 0xd4, 0x1e, 0x1e, 0x1e, 0x1e, 0x00, 0x00, 0xfe, 0xf9, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x00, + 0x16, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, + 0xff, 0x2b, 0x2b, 0x2b, 0x2b, 0x35, 0xd4, 0xd4, 0x47, 0x3f, 0xd4, 0xd4, 0xd6, 0xd4, 0xd4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x32, 0x4a, 0x4a, 0x4a, 0x4a, 0x71, 0x00, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, + 0x1f, 0x1b, 0x1b, 0x1b, 0x57, 0x57, 0x57, 0x57, 0x00, 0x00, 0x1b, 0x08, 0x2b, 0x16, 0xc3, 0x00, + 0x00, 0x00, 0x29, 0x30, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x07, 0x00, 0x00, 0x01, 0x0b, 0xff, + 0xff, 0xf5, 0xf5, 0xf5, 0x00, 0x00, 0xfe, 0xfa, 0x0f, 0x0f, 0x08, 0x00, 0xff, 0x00, 0x53, 0x3f, + 0x00, 0x04, 0x5d, 0xa8, 0x2e, 0xff, 0xff, 0x00, 0x2f, 0x2f, 0x05, 0xff, 0xff, 0xff, 0x2f, 0x2f, + 0x2f, 0x0a, 0x0a, 0x0a, 0x0a, 0x30, 0xff, 0xff, 0xff, 0xf0, 0x0a, 0x0a, 0x0a, 0x00, 0xff, 0x3f, + 0x4f, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x71, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x71, 0x71, 0x00, 0x71, 0x71, 0x71, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x3f, 0x00, 0xfa, 0x71, 0x71, 0x71, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x71, 0x71, 0x71, 0x71, 0x71}; + strm.next_in = next_in; + unsigned char next_out[1236]; + strm.next_out = next_out; + + strm.avail_in = 554; + strm.avail_out = 31; + + err = PREFIX(deflate)(&strm, Z_FINISH); + EXPECT_EQ(err, Z_OK); + + strm.avail_in = 0; + strm.avail_out = 498; + err = PREFIX(deflate)(&strm, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(deflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); +} diff --git a/neozip/test/test_deflate_quick_block_open.cc b/neozip/test/test_deflate_quick_block_open.cc new file mode 100644 index 0000000000..84a1ac8bbf --- /dev/null +++ b/neozip/test/test_deflate_quick_block_open.cc @@ -0,0 +1,94 @@ +/* Generated by fuzzing - test block_open handling in deflate_quick(). */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate_quick, block_open) { + PREFIX3(stream) strm; + int err; + + memset(&strm, 0, sizeof(strm)); + err = PREFIX(deflateInit2)(&strm, 1, Z_DEFLATED, -MAX_WBITS, 1, Z_FILTERED); + EXPECT_EQ(err, Z_OK); + + z_const unsigned char next_in[495] = + "\x1d\x1d\x00\x00\x00\x4a\x4a\x4a\xaf\xaf\xaf\xaf\x4a\x4a\x4a\x4a" + "\x3f\x3e\xaf\xff\xff\xff\x11\xff\xff\xff\xff\xdf\x00\x00\x00\x01" + "\x3f\x7d\x00\x50\x00\x00\xc8\x01\x2b\x60\xc8\x00\x24\x06\xff\xff" + "\x4a\x4e\x4a\x7d\xc8\x01\xf1\x2b\x28\xb2\xb2\x60\x25\xc8\x06\x00" + "\x00\x00\x31\x00\x01\xb2\xb2\xb2\xff\xff\xfd\xb2\xb2\x40\xff\x7d" + "\x3b\x34\x3e\xff\xff\x4a\x4a\x01\xf1\xff\x02\xff\x3f\xff\x02\xff" + "\xff\xff\xbf\x0a\xff\x00\x01\x3f\xb3\xff\x26\x00\x00\x13\x00\xc8" + "\x3e\x3e\x3e\x4a\x76\x4a\x4a\x2e\x7d\x3e\x3e\x3e\x3e\x1d\x1d\x1d" + "\xfe\xea\xef\x80\x01\x00\x00\x40\x00\x00\xba\x00\x06\xfa\xb9\x11" + "\xbf\x98\xee\x45\x7e\x04\x00\xff\xff\xff\x67\xc3\xc3\xc3\xc3\x00" + "\x1d\x1d\xe1\xe3\x00\xc3\x1d\x98\x1d\x1d\x1d\x1d\x1d\x00\x00\x00" + "\x02\x00\x00\x00\xe8\x00\x00\x1d\x1d\x1d\xfa\x1e\x12\xff\xff\xff" + "\x00\x01\xa7\xff\xff\xff\x1d\x1d\x1d\x63\xff\xff\xff\x1f\x00\x00" + "\x10\x40\x00\x00\xad\xff\xff\x3f\x51\x00\xf8\xff\xff\x8a\x01\x05" + "\x00\x00\x03\x00\x00\xff\x00\x00\x00\x05\x40\x1f\x08\x0a\x00\xff" + "\xff\x01\x00\x12\x00\x00\x01\x00\x3f\x40\x1d\x1d\x1d\x1d\x1d\x1d" + "\x21\x00\x1d\x00\x00\x00\xe4\x00\x00\x00\x07\x00\x00\xe6\xe6\x34" + "\xe6\xe6\xe6\xe6\xff\x2b\xee\x1d\x1d\x1d\x93\x1d\x1d\x1d\xee\x2b" + "\xee\x01\x81\x1d\x00\x00\x58\x00\x00\x01\x14\x00\x1b\x00\x00\x2c" + "\x00\x00\x00\xdb\x00\x45\x7e\x00\x00\x00\xfb\xbd\x00\x06\x21\xd3" + "\x00\xff\xff\xff\xff\xff\x00\x49\x49\xc9\x49\x3d\x00\x34\x01\x00" + "\x00\x6a\x2b\x00\x00\x50\x40\xf0\xf0\xf0\xf0\xa3\xa3\xa3\xa3\xf0" + "\xf0\x06\xfa\xa9\x01\x10\xbf\x98\x9d\x2b\xee\x2d\x21\x01\xdb\x00" + "\x45\x10\x00\x00\x7e\x00\x00\xe7\x00\xff\xff\x00\xf6\x00\x00\x00" + "\xf9\x00\x00\x00\x11\x00\x00\x00\xe2\x00\x00\x00\x2d\x00\x00\x00" + "\x2f\x00\x3f\x54\x1d\x1d\x1d\x4c\x4c\x4c\x4c\x2a\x4c\x4c\x10\xff" + "\xff\x1a\x00\x00\x01\xff\x00\xff\xf9\x00\x3f\x53\xcc\xcc\xcc\xcc" + "\x6e\x00\x00\x01\xf8\xff\xff\xff\x49\x04\x2c\x01\x00\x1d\x00\x07" + "\x01\xff\x00\x00\x00\xf8\xff\x09\x00\x27\x00\x08\x21\x1c\x00\x00" + "\x00\x00\x1d\x05\x00\x00\x00\x2c\x53\x3f\x00\x01\x00\x00\xe6\xff" + "\xff\xff\x6a\x2b\xee\xe6\x6a\x2b\xee\x2b\xee\xee\x2b\xee"; + strm.next_in = next_in; + unsigned char next_out[1116]; + strm.next_out = next_out; + + strm.avail_in = sizeof(next_in); + while (1) { + strm.avail_out = (uint32_t)(next_out + sizeof(next_out) - strm.next_out); + if (strm.avail_out > 38) + strm.avail_out = 38; + err = PREFIX(deflate)(&strm, Z_FINISH); + if (err == Z_STREAM_END) + break; + EXPECT_EQ(err, Z_OK); + } + uint32_t compressed_size = (uint32_t)(strm.next_out - next_out); + + err = PREFIX(deflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); + + memset(&strm, 0, sizeof(strm)); + err = PREFIX(inflateInit2)(&strm, -MAX_WBITS); + EXPECT_EQ(err, Z_OK); + + strm.next_in = next_out; + strm.avail_in = compressed_size; + unsigned char uncompressed[sizeof(next_in)]; + strm.next_out = uncompressed; + strm.avail_out = sizeof(uncompressed); + + err = PREFIX(inflate)(&strm, Z_NO_FLUSH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(inflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(memcmp(uncompressed, next_in, sizeof(uncompressed)) == 0); +} diff --git a/neozip/test/test_deflate_tune.cc b/neozip/test/test_deflate_tune.cc new file mode 100644 index 0000000000..9921ee6437 --- /dev/null +++ b/neozip/test/test_deflate_tune.cc @@ -0,0 +1,56 @@ +/* test_deflate_tune.cc - Test deflateTune() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate, tune) { + PREFIX3(stream) c_stream; + uint8_t compr[128]; + z_size_t compr_len = sizeof(compr); + int err; + int good_length = 3; + int max_lazy = 5; + int nice_length = 18; + int max_chain = 6; + + memset(&c_stream, 0, sizeof(c_stream)); + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflateTune)(&c_stream, good_length, max_lazy,nice_length, max_chain); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != hello_len && c_stream.total_out < compr_len) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + } + + /* Finish the stream, still forcing small buffers: */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); +} diff --git a/neozip/test/test_dict.cc b/neozip/test/test_dict.cc new file mode 100644 index 0000000000..8a882d5770 --- /dev/null +++ b/neozip/test/test_dict.cc @@ -0,0 +1,98 @@ +/* test_dict.cc - Test deflate() and inflate() with preset dictionary */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +/* Maximum dictionary size, according to inflateGetDictionary() description. */ +#define MAX_DICTIONARY_SIZE 32768 + +static const char dictionary[] = "hello"; + +TEST(dictionary, basic) { + PREFIX3(stream) c_stream, d_stream; + uint8_t compr[128], uncompr[128]; + z_size_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + uint32_t dict_adler = 0; + uint8_t check_dict[MAX_DICTIONARY_SIZE]; + uint32_t check_dict_len = 0; + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&d_stream, 0, sizeof(d_stream)); + + err = PREFIX(deflateInit)(&c_stream, Z_BEST_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(deflateSetDictionary)(&c_stream, + (const unsigned char *)dictionary, (int)sizeof(dictionary)); + EXPECT_EQ(err, Z_OK); + + dict_adler = c_stream.adler; + c_stream.next_out = compr; + c_stream.avail_out = (uint32_t)compr_len; + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.avail_in = (uint32_t)hello_len; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + compr_len = (z_size_t)c_stream.total_out; + + strcpy((char*)uncompr, "garbage garbage garbage"); + + d_stream.next_in = compr; + d_stream.avail_in = (unsigned int)compr_len; + + err = PREFIX(inflateInit)(&d_stream); + EXPECT_EQ(err, Z_OK); + + d_stream.next_out = uncompr; + d_stream.avail_out = (unsigned int)uncompr_len; + + for (;;) { + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + if (err == Z_NEED_DICT) { + EXPECT_EQ(d_stream.adler, dict_adler); + err = PREFIX(inflateSetDictionary)(&d_stream, (const unsigned char*)dictionary, + (uint32_t)sizeof(dictionary)); + EXPECT_EQ(d_stream.adler, dict_adler); + } + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(inflateGetDictionary)(&d_stream, NULL, &check_dict_len); + EXPECT_EQ(err, Z_OK); +#ifndef S390_DFLTCC_INFLATE + EXPECT_GE(check_dict_len, sizeof(dictionary)); +#endif + + err = PREFIX(inflateGetDictionary)(&d_stream, check_dict, &check_dict_len); + EXPECT_EQ(err, Z_OK); +#ifndef S390_DFLTCC_INFLATE + EXPECT_TRUE(memcmp(dictionary, check_dict, sizeof(dictionary)) == 0); +#endif + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(strncmp((char*)uncompr, hello, sizeof(hello)) == 0); +} diff --git a/neozip/test/test_gzio.cc b/neozip/test/test_gzio.cc new file mode 100644 index 0000000000..032e3e1c51 --- /dev/null +++ b/neozip/test/test_gzio.cc @@ -0,0 +1,106 @@ +/* test_gzio.cc - Test read/write of .gz files */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define TESTFILE "foo.gz" + +TEST(gzip, readwrite) { +#ifdef NO_GZCOMPRESS + fprintf(stderr, "NO_GZCOMPRESS -- gz* functions cannot compress\n"); + GTEST_SKIP(); +#else + uint8_t compr[128], uncompr[128]; + uint32_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + size_t read; + int64_t pos; + gzFile file; + int err; + + Z_UNUSED(compr); + /* Write gz file with test data */ + file = PREFIX(gzopen)(TESTFILE, "wb"); + ASSERT_TRUE(file != NULL); + /* Write hello, hello! using gzputs and gzprintf */ + PREFIX(gzputc)(file, 'h'); + EXPECT_EQ(PREFIX(gzputs)(file, "ello"), 4); + EXPECT_EQ(PREFIX(gzprintf)(file, ", %s!", "hello"), 8); + /* Write string null-teriminator using gzseek */ + EXPECT_GE(PREFIX(gzseek)(file, 1L, SEEK_CUR), 0); + /* Write hello, hello! using gzfwrite using best compression level */ + EXPECT_EQ(PREFIX(gzsetparams)(file, Z_BEST_COMPRESSION, Z_DEFAULT_STRATEGY), Z_OK); + EXPECT_NE(PREFIX(gzfwrite)(hello, hello_len, 1, file), 0UL); + /* Flush compressed bytes to file */ + EXPECT_EQ(PREFIX(gzflush)(file, Z_SYNC_FLUSH), Z_OK); + compr_len = (uint32_t)PREFIX(gzoffset)(file); + EXPECT_GE(compr_len, 0UL); + PREFIX(gzclose)(file); + + /* Open gz file we previously wrote */ + file = PREFIX(gzopen)(TESTFILE, "rb"); + ASSERT_TRUE(file != NULL); + + /* Read uncompressed data - hello, hello! string twice */ + strcpy((char*)uncompr, "garbages"); + EXPECT_EQ(PREFIX(gzread)(file, uncompr, (unsigned)uncompr_len), (int)(hello_len + hello_len)); + EXPECT_STREQ((char*)uncompr, hello); + + /* Check position at the end of the gz file */ + EXPECT_EQ(PREFIX(gzeof)(file), 1); + + /* Seek backwards mid-string and check char reading with gzgetc and gzungetc */ + pos = PREFIX(gzseek)(file, -22L, SEEK_CUR); + EXPECT_EQ(pos, 6); + EXPECT_EQ(PREFIX(gztell)(file), pos); + EXPECT_EQ(PREFIX(gzgetc)(file), ' '); + EXPECT_EQ(PREFIX(gzungetc)(' ', file), ' '); + /* Read first hello, hello! string with gzgets */ + strcpy((char*)uncompr, "garbages"); + PREFIX(gzgets)(file, (char*)uncompr, (int)uncompr_len); + EXPECT_EQ(strlen((char*)uncompr), 7UL); /* " hello!" */ + EXPECT_STREQ((char*)uncompr, hello + 6); + + /* Seek to second hello, hello! string */ + pos = PREFIX(gzseek)(file, 14L, SEEK_SET); + EXPECT_EQ(pos, 14); + EXPECT_EQ(PREFIX(gztell)(file), pos); + + /* Check position not at end of file */ + EXPECT_EQ(PREFIX(gzeof)(file), 0); + /* Read first hello, hello! string with gzfread */ + strcpy((char*)uncompr, "garbages"); + read = PREFIX(gzfread)(uncompr, uncompr_len, 1, file); + EXPECT_STREQ((const char *)uncompr, hello); + + pos = PREFIX(gzoffset)(file); + EXPECT_GE(pos, 0); + EXPECT_EQ(pos, (compr_len + 10)); + + /* Trigger an error and clear it with gzclearerr */ + PREFIX(gzfread)(uncompr, (size_t)-1, (size_t)-1, file); + PREFIX(gzerror)(file, &err); + EXPECT_NE(err, 0); + + PREFIX(gzclearerr)(file); + PREFIX(gzerror)(file, &err); + EXPECT_EQ(err, 0); + + PREFIX(gzclose)(file); + + EXPECT_EQ(PREFIX(gzclose)(NULL), Z_STREAM_ERROR); + Z_UNUSED(read); +#endif +} diff --git a/neozip/test/test_inflate_adler32.cc b/neozip/test/test_inflate_adler32.cc new file mode 100644 index 0000000000..fb78bb1bfc --- /dev/null +++ b/neozip/test/test_inflate_adler32.cc @@ -0,0 +1,50 @@ +/* GH-1066 - inflate small amount of data and validate with adler32 checksum. */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +const char* original = "The quick brown fox jumped over the lazy dog"; + +z_const unsigned char compressed[] = { + 0x78, 0x9c, 0x0b, 0xc9, 0x48, 0x55, 0x28, 0x2c, 0xcd, 0x4c, 0xce, 0x56, 0x48, + 0x2a, 0xca, 0x2f, 0xcf, 0x53, 0x48, 0xcb, 0xaf, 0x50, 0xc8, 0x2a, 0xcd, 0x2d, + 0x48, 0x4d, 0x51, 0xc8, 0x2f, 0x4b, 0x2d, 0x52, 0x28, 0xc9, 0x48, 0x55, 0xc8, + 0x49, 0xac, 0xaa, 0x54, 0x48, 0xc9, 0x4f, 0x07, 0x00, 0x6b, 0x93, 0x10, 0x30 +}; + +TEST(inflate, adler32) { + unsigned char uncompressed[1024]; + PREFIX3(stream) strm; + + memset(&strm, 0, sizeof(strm)); + + int err = PREFIX(inflateInit2)(&strm, 32 + MAX_WBITS); + EXPECT_EQ(err, Z_OK); + + strm.next_in = compressed; + strm.avail_in = sizeof(compressed); + strm.next_out = uncompressed; + strm.avail_out = sizeof(uncompressed); + + err = PREFIX(inflate)(&strm, Z_NO_FLUSH); + EXPECT_EQ(err, Z_STREAM_END); + + EXPECT_EQ(strm.adler, 0x6b931030); + + err = PREFIX(inflateEnd)(&strm); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(memcmp(uncompressed, original, MIN(strm.total_out, strlen(original))) == 0); +} diff --git a/neozip/test/test_inflate_copy.cc b/neozip/test/test_inflate_copy.cc new file mode 100644 index 0000000000..02eea2648a --- /dev/null +++ b/neozip/test/test_inflate_copy.cc @@ -0,0 +1,31 @@ +/* test_inflate_copy.cc - Test copying inflate stream */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(inflate, copy_back_and_forth) { + PREFIX3(stream) d1_stream, d2_stream; + int err; + + memset(&d1_stream, 0, sizeof(d1_stream)); + err = PREFIX(inflateInit2)(&d1_stream, MAX_WBITS + 14); + ASSERT_EQ(err, Z_OK); + err = PREFIX(inflateCopy)(&d2_stream, &d1_stream); + ASSERT_EQ(err, Z_OK); + err = PREFIX(inflateEnd)(&d1_stream); + ASSERT_EQ(err, Z_OK); + err = PREFIX(inflateCopy)(&d1_stream, &d2_stream); + ASSERT_EQ(err, Z_OK); + err = PREFIX(inflateEnd)(&d1_stream); + ASSERT_EQ(err, Z_OK); + err = PREFIX(inflateEnd)(&d2_stream); + ASSERT_EQ(err, Z_OK); +} diff --git a/neozip/test/test_inflate_sync.cc b/neozip/test/test_inflate_sync.cc new file mode 100644 index 0000000000..a79d867e68 --- /dev/null +++ b/neozip/test/test_inflate_sync.cc @@ -0,0 +1,75 @@ +/* test_inflate_sync.cc - Test inflateSync using full flush deflate and corrupted data */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(inflate, sync) { + PREFIX3(stream) c_stream, d_stream; + uint8_t compr[128], uncompr[128]; + z_size_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + + /* build compressed stream with full flush */ + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + c_stream.avail_in = 3; + c_stream.avail_out = (uint32_t)compr_len; + + err = PREFIX(deflate)(&c_stream, Z_FULL_FLUSH); + EXPECT_EQ(err, Z_OK); + + /* force an error in first compressed block */ + compr[3]++; + c_stream.avail_in = hello_len-3; + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + compr_len = (z_size_t)c_stream.total_out; + + memset(&d_stream, 0, sizeof(d_stream)); + /* just read the zlib header */ + d_stream.next_in = compr; + d_stream.avail_in = 2; + + err = PREFIX(inflateInit)(&d_stream); + EXPECT_EQ(err, Z_OK); + + d_stream.next_out = uncompr; + d_stream.avail_out = (uint32_t)uncompr_len; + + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + + /* read all compressed data, but skip damaged part */ + d_stream.avail_in = (uint32_t)compr_len-2; + err = PREFIX(inflateSync)(&d_stream); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(inflate)(&d_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); +} diff --git a/neozip/test/test_large_buffers.cc b/neozip/test/test_large_buffers.cc new file mode 100644 index 0000000000..3c1208140d --- /dev/null +++ b/neozip/test/test_large_buffers.cc @@ -0,0 +1,87 @@ +/* test_large_buffers.cc - Test deflate() and inflate() with large buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include <gtest/gtest.h> + +#include "test_shared.h" + +#define COMPR_BUFFER_SIZE (48 * 1024) +#define UNCOMPR_BUFFER_SIZE (32 * 1024) +#define UNCOMPR_RAND_SIZE (8 * 1024) + +TEST(deflate, large_buffers) { + PREFIX3(stream) c_stream, d_stream; + uint8_t *compr, *uncompr; + uint32_t compr_len, uncompr_len; + int32_t i; + time_t now; + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&d_stream, 0, sizeof(d_stream)); + + compr = (uint8_t *)calloc(1, COMPR_BUFFER_SIZE); + ASSERT_TRUE(compr != NULL); + uncompr = (uint8_t *)calloc(1, UNCOMPR_BUFFER_SIZE); + ASSERT_TRUE(uncompr != NULL); + + compr_len = COMPR_BUFFER_SIZE; + uncompr_len = UNCOMPR_BUFFER_SIZE; + + srand((unsigned)time(&now)); + for (i = 0; i < UNCOMPR_RAND_SIZE; i++) + uncompr[i] = (uint8_t)(rand() % 256); + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_out = compr; + c_stream.avail_out = compr_len; + c_stream.next_in = uncompr; + c_stream.avail_in = uncompr_len; + + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + EXPECT_EQ(c_stream.avail_in, 0); + + err = PREFIX(deflate)(&c_stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + d_stream.next_in = compr; + d_stream.avail_in = compr_len; + d_stream.next_out = uncompr; + + err = PREFIX(inflateInit)(&d_stream); + EXPECT_EQ(err, Z_OK); + + for (;;) { + d_stream.next_out = uncompr; /* discard the output */ + d_stream.avail_out = uncompr_len; + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_EQ(d_stream.total_out, uncompr_len); + + free(compr); + free(uncompr); +} diff --git a/neozip/test/test_main.cc b/neozip/test/test_main.cc new file mode 100644 index 0000000000..994a3ef389 --- /dev/null +++ b/neozip/test/test_main.cc @@ -0,0 +1,22 @@ +/* test_test.cc - Main entry point for test framework */ + +#include <stdio.h> + +#include "gtest/gtest.h" + +extern "C" { +# include "zbuild.h" +# include "test_cpu_features.h" +# ifndef DISABLE_RUNTIME_CPU_DETECTION + struct cpu_features test_cpu_features; +# endif +} + +GTEST_API_ int main(int argc, char **argv) { + printf("Running main() from %s\n", __FILE__); +#ifndef DISABLE_RUNTIME_CPU_DETECTION + cpu_check_features(&test_cpu_features); +#endif + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/neozip/test/test_raw.cc b/neozip/test/test_raw.cc new file mode 100644 index 0000000000..a013d4bb47 --- /dev/null +++ b/neozip/test/test_raw.cc @@ -0,0 +1,58 @@ +/* test_raw.cc - Test raw streams. */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <gtest/gtest.h> + +TEST(raw, basic) { + PREFIX3(stream) stream; + int err; + unsigned char plain[512]; + size_t i; + unsigned char compr[sizeof(plain)]; + unsigned int compr_len; + unsigned char plain_again[sizeof(plain)]; + + memset(&stream, 0, sizeof(stream)); + err = PREFIX(deflateInit2)(&stream, Z_BEST_SPEED, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + for (i = 0; i < sizeof(plain); i++) + plain[i] = (unsigned char)i; + stream.adler = 0x12345678; + stream.next_in = plain; + stream.avail_in = (uint32_t)sizeof(plain); + stream.next_out = compr; + stream.avail_out = (uint32_t)sizeof(compr); + err = PREFIX(deflate)(&stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + EXPECT_EQ(stream.adler, 0x12345678); + compr_len = sizeof(compr) - stream.avail_out; + + err = PREFIX(deflateEnd)(&stream); + EXPECT_EQ(err, Z_OK); + + memset(&stream, 0, sizeof(stream)); + err = PREFIX(inflateInit2)(&stream, -MAX_WBITS); + EXPECT_EQ(err, Z_OK); + + stream.adler = 0x87654321; + stream.next_in = compr; + stream.avail_in = compr_len; + stream.next_out = plain_again; + stream.avail_out = (unsigned int)sizeof(plain_again); + + err = PREFIX(inflate)(&stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_STREAM_END); + EXPECT_EQ(stream.adler, 0x87654321); + + err = PREFIX(inflateEnd)(&stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(memcmp(plain_again, plain, sizeof(plain)) == 0); +} diff --git a/neozip/test/test_shared.h b/neozip/test/test_shared.h new file mode 100644 index 0000000000..616f57342c --- /dev/null +++ b/neozip/test/test_shared.h @@ -0,0 +1,18 @@ +#ifndef TEST_SHARED_H +#define TEST_SHARED_H + +/* Test definitions that can be used in the original zlib build environment. */ + +/* "hello world" would be more standard, but the repeated "hello" + * stresses the compression code better, sorry... + */ +static const char hello[] = "hello, hello!"; +static const int hello_len = sizeof(hello); + +/* Clang static analyzer doesn't understand googletest's ASSERT_TRUE, so we need to tell that it's like assert() */ +#ifdef __clang_analyzer__ +# undef ASSERT_TRUE +# define ASSERT_TRUE assert +#endif + +#endif diff --git a/neozip/test/test_shared_ng.h b/neozip/test/test_shared_ng.h new file mode 100644 index 0000000000..f87ef027e2 --- /dev/null +++ b/neozip/test/test_shared_ng.h @@ -0,0 +1,23 @@ +#ifndef TEST_SHARED_NG_H +#define TEST_SHARED_NG_H + +#include "test_shared.h" + +/* Test definitions that can only be used in the zlib-ng build environment. */ + +static inline int deflate_prime_32(PREFIX3(stream) *stream, uint32_t value) { + int err; + +#ifndef TEST_STOCK_ZLIB + err = PREFIX(deflatePrime)(stream, 32, value); +#else + /* zlib's deflatePrime() takes at most 16 bits */ + err = PREFIX(deflatePrime)(stream, 16, value & 0xffff); + if (err != Z_OK) return err; + err = PREFIX(deflatePrime)(stream, 16, value >> 16); +#endif + + return err; +} + +#endif diff --git a/neozip/test/test_small_buffers.cc b/neozip/test/test_small_buffers.cc new file mode 100644 index 0000000000..bb3449fd88 --- /dev/null +++ b/neozip/test/test_small_buffers.cc @@ -0,0 +1,69 @@ +/* test_small_buffers.cc - Test deflate() and inflate() with small buffers */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(deflate, small_buffers) { + PREFIX3(stream) c_stream, d_stream; + uint8_t compr[128], uncompr[128]; + z_size_t compr_len = sizeof(compr), uncompr_len = sizeof(uncompr); + int err; + + memset(&c_stream, 0, sizeof(c_stream)); + memset(&d_stream, 0, sizeof(d_stream)); + + err = PREFIX(deflateInit)(&c_stream, Z_DEFAULT_COMPRESSION); + EXPECT_EQ(err, Z_OK); + + c_stream.next_in = (z_const unsigned char *)hello; + c_stream.next_out = compr; + + while (c_stream.total_in != hello_len && c_stream.total_out < compr_len) { + c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(deflate)(&c_stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_OK); + } + /* Finish the stream, still forcing small buffers */ + for (;;) { + c_stream.avail_out = 1; + err = PREFIX(deflate)(&c_stream, Z_FINISH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(deflateEnd)(&c_stream); + EXPECT_EQ(err, Z_OK); + + strcpy((char*)uncompr, "garbage"); + + d_stream.next_in = compr; + d_stream.next_out = uncompr; + + err = PREFIX(inflateInit)(&d_stream); + EXPECT_EQ(err, Z_OK); + + while (d_stream.total_out < uncompr_len && d_stream.total_in < compr_len) { + d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */ + err = PREFIX(inflate)(&d_stream, Z_NO_FLUSH); + if (err == Z_STREAM_END) break; + EXPECT_EQ(err, Z_OK); + } + + err = PREFIX(inflateEnd)(&d_stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_STREQ((char*)uncompr, hello); +} diff --git a/neozip/test/test_small_window.cc b/neozip/test/test_small_window.cc new file mode 100644 index 0000000000..e351efac0d --- /dev/null +++ b/neozip/test/test_small_window.cc @@ -0,0 +1,67 @@ +/* test_small_window.cc - Test deflate() and inflate() with a small window and a preset dictionary */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <gtest/gtest.h> + +TEST(small_window, basic) { + PREFIX3(stream) stream; + int err; + unsigned char plain[128]; + unsigned char dictionary1[(1 << 9) - sizeof(plain) / 2]; + size_t i; + unsigned char compr[sizeof(plain)]; + unsigned int compr_len; + unsigned char plain_again[sizeof(plain)]; + + memset(&stream, 0, sizeof(stream)); + err = PREFIX(deflateInit2)(&stream, Z_BEST_COMPRESSION, Z_DEFLATED, -9, 8, Z_DEFAULT_STRATEGY); + EXPECT_EQ(err, Z_OK); + + /* Use a large dictionary that is loaded in two parts */ + memset(dictionary1, 'a', sizeof(dictionary1)); + err = PREFIX(deflateSetDictionary)(&stream, dictionary1, (unsigned int)sizeof(dictionary1)); + EXPECT_EQ(err, Z_OK); + for (i = 0; i < sizeof(plain); i++) + plain[i] = (unsigned char)i; + err = PREFIX(deflateSetDictionary)(&stream, plain, (unsigned int)sizeof(plain)); + EXPECT_EQ(err, Z_OK); + + stream.next_in = plain; + stream.avail_in = (uint32_t)sizeof(plain); + stream.next_out = compr; + stream.avail_out = (uint32_t)sizeof(compr); + err = PREFIX(deflate)(&stream, Z_FINISH); + EXPECT_EQ(err, Z_STREAM_END); + compr_len = sizeof(compr) - stream.avail_out; + + err = PREFIX(deflateEnd)(&stream); + EXPECT_EQ(err, Z_OK); + + memset(&stream, 0, sizeof(stream)); + err = PREFIX(inflateInit2)(&stream, -9); + EXPECT_EQ(err, Z_OK); + + err = PREFIX(inflateSetDictionary)(&stream, dictionary1, (unsigned int)sizeof(dictionary1)); + EXPECT_EQ(err, Z_OK); + err = PREFIX(inflateSetDictionary)(&stream, plain, (unsigned int)sizeof(plain)); + EXPECT_EQ(err, Z_OK); + + stream.next_in = compr; + stream.avail_in = compr_len; + stream.next_out = plain_again; + stream.avail_out = (unsigned int)sizeof(plain_again); + + err = PREFIX(inflate)(&stream, Z_NO_FLUSH); + EXPECT_EQ(err, Z_STREAM_END); + + err = PREFIX(inflateEnd)(&stream); + EXPECT_EQ(err, Z_OK); + + EXPECT_TRUE(memcmp(plain_again, plain, sizeof(plain)) == 0); +} diff --git a/neozip/test/test_version.cc b/neozip/test/test_version.cc new file mode 100644 index 0000000000..fda87904e0 --- /dev/null +++ b/neozip/test/test_version.cc @@ -0,0 +1,27 @@ +/* test_version.cc - Test zVersion() and zlibCompileFlags() */ + +#include "zbuild.h" +#ifdef ZLIB_COMPAT +# include "zlib.h" +#else +# include "zlib-ng.h" +#endif + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> + +#include "test_shared.h" + +#include <gtest/gtest.h> + +TEST(version, basic) { + static const char *my_version = PREFIX2(VERSION); + + EXPECT_EQ(zVersion()[0], my_version[0]); + EXPECT_STREQ(zVersion(), PREFIX2(VERSION)); + + printf("zlib-ng version %s = 0x%08lx, compile flags = 0x%lx\n", + ZLIBNG_VERSION, ZLIBNG_VERNUM, PREFIX(zlibCompileFlags)()); +} |
