LLDB mainline
ZipFile.h
Go to the documentation of this file.
1//===-- ZipFile.h -----------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_UTILITY_ZIPFILE_H
10#define LLDB_UTILITY_ZIPFILE_H
11
12#include "lldb/lldb-private.h"
13
14namespace lldb_private {
15
16/// In Android API level 23 and above, bionic dynamic linker is able to load
17/// .so file directly from APK or .zip file. This is a utility class to find
18/// .so file offset and size from zip file.
19/// https://android.googlesource.com/platform/bionic/+/master/
20/// android-changes-for-ndk-developers.md#
21/// opening-shared-libraries-directly-from-an-apk
22class ZipFile {
23public:
24 static bool Find(lldb::DataBufferSP zip_data, const llvm::StringRef file_path,
25 lldb::offset_t &file_offset, lldb::offset_t &file_size);
26};
27
28} // end of namespace lldb_private
29
30#endif // LLDB_UTILITY_ZIPFILE_H
In Android API level 23 and above, bionic dynamic linker is able to load .so file directly from APK o...
Definition: ZipFile.h:22
static bool Find(lldb::DataBufferSP zip_data, const llvm::StringRef file_path, lldb::offset_t &file_offset, lldb::offset_t &file_size)
Definition: ZipFile.cpp:173
A class that represents a running process on the host machine.
uint64_t offset_t
Definition: lldb-types.h:85
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
Definition: lldb-forward.h:333