1 //===-- LZMA.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_HOST_LZMA_H
10 #define LLDB_HOST_LZMA_H
11 
12 #include "llvm/ADT/ArrayRef.h"
13 
14 namespace llvm {
15 class Error;
16 } // End of namespace llvm
17 
18 namespace lldb_private {
19 
20 namespace lzma {
21 
22 bool isAvailable();
23 
24 llvm::Expected<uint64_t>
25 getUncompressedSize(llvm::ArrayRef<uint8_t> InputBuffer);
26 
27 llvm::Error uncompress(llvm::ArrayRef<uint8_t> InputBuffer,
28                        llvm::SmallVectorImpl<uint8_t> &Uncompressed);
29 
30 } // End of namespace lzma
31 
32 } // End of namespace lldb_private
33 
34 #endif // LLDB_HOST_LZMA_H
35