root/tools/perf/util/compress.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. zstd_init
  2. zstd_fini
  3. zstd_compress_stream_to_records
  4. zstd_decompress_stream

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef PERF_COMPRESS_H
   3 #define PERF_COMPRESS_H
   4 
   5 #include <stdbool.h>
   6 #ifdef HAVE_ZSTD_SUPPORT
   7 #include <zstd.h>
   8 #endif
   9 
  10 #ifdef HAVE_ZLIB_SUPPORT
  11 int gzip_decompress_to_file(const char *input, int output_fd);
  12 bool gzip_is_compressed(const char *input);
  13 #endif
  14 
  15 #ifdef HAVE_LZMA_SUPPORT
  16 int lzma_decompress_to_file(const char *input, int output_fd);
  17 bool lzma_is_compressed(const char *input);
  18 #endif
  19 
  20 struct zstd_data {
  21 #ifdef HAVE_ZSTD_SUPPORT
  22         ZSTD_CStream    *cstream;
  23         ZSTD_DStream    *dstream;
  24 #endif
  25 };
  26 
  27 #ifdef HAVE_ZSTD_SUPPORT
  28 
  29 int zstd_init(struct zstd_data *data, int level);
  30 int zstd_fini(struct zstd_data *data);
  31 
  32 size_t zstd_compress_stream_to_records(struct zstd_data *data, void *dst, size_t dst_size,
  33                                        void *src, size_t src_size, size_t max_record_size,
  34                                        size_t process_header(void *record, size_t increment));
  35 
  36 size_t zstd_decompress_stream(struct zstd_data *data, void *src, size_t src_size,
  37                               void *dst, size_t dst_size);
  38 #else /* !HAVE_ZSTD_SUPPORT */
  39 
  40 static inline int zstd_init(struct zstd_data *data __maybe_unused, int level __maybe_unused)
  41 {
  42         return 0;
  43 }
  44 
  45 static inline int zstd_fini(struct zstd_data *data __maybe_unused)
  46 {
  47         return 0;
  48 }
  49 
  50 static inline
  51 size_t zstd_compress_stream_to_records(struct zstd_data *data __maybe_unused,
  52                                        void *dst __maybe_unused, size_t dst_size __maybe_unused,
  53                                        void *src __maybe_unused, size_t src_size __maybe_unused,
  54                                        size_t max_record_size __maybe_unused,
  55                                        size_t process_header(void *record, size_t increment) __maybe_unused)
  56 {
  57         return 0;
  58 }
  59 
  60 static inline size_t zstd_decompress_stream(struct zstd_data *data __maybe_unused, void *src __maybe_unused,
  61                                             size_t src_size __maybe_unused, void *dst __maybe_unused,
  62                                             size_t dst_size __maybe_unused)
  63 {
  64         return 0;
  65 }
  66 #endif
  67 
  68 #endif /* PERF_COMPRESS_H */

/* [<][>][^][v][top][bottom][index][help] */