Botan 3.0.0
Crypto and TLS for C&
zlib.h
Go to the documentation of this file.
1/*
2* Zlib Compressor
3* (C) 2001 Peter J Jones
4* 2001-2007,2014 Jack Lloyd
5*
6* Botan is released under the Simplified BSD License (see license.txt)
7*/
8
9#ifndef BOTAN_ZLIB_H_
10#define BOTAN_ZLIB_H_
11
12#include <botan/compression.h>
13
14namespace Botan {
15
16/**
17* Zlib Compression
18*/
20 {
21 public:
22 std::string name() const override { return "Zlib_Compression"; }
23 private:
24 std::unique_ptr<Compression_Stream> make_stream(size_t level) const override;
25 };
26
27/**
28* Zlib Decompression
29*/
31 {
32 public:
33 std::string name() const override { return "Zlib_Decompression"; }
34 private:
35 std::unique_ptr<Compression_Stream> make_stream() const override;
36 };
37
38/**
39* Deflate Compression
40*/
42 {
43 public:
44 std::string name() const override { return "Deflate_Compression"; }
45 private:
46 std::unique_ptr<Compression_Stream> make_stream(size_t level) const override;
47 };
48
49/**
50* Deflate Decompression
51*/
53 {
54 public:
55 std::string name() const override { return "Deflate_Decompression"; }
56 private:
57 std::unique_ptr<Compression_Stream> make_stream() const override;
58 };
59
60/**
61* Gzip Compression
62*/
64 {
65 public:
66 explicit Gzip_Compression(uint8_t os_code = 255, uint64_t hdr_time = 0) :
67 m_hdr_time(hdr_time), m_os_code(os_code) {}
68
69 std::string name() const override { return "Gzip_Compression"; }
70 private:
71 std::unique_ptr<Compression_Stream> make_stream(size_t level) const override;
72 const uint64_t m_hdr_time;
73 const uint8_t m_os_code;
74 };
75
76/**
77* Gzip Decompression
78*/
80 {
81 public:
82 std::string name() const override { return "Gzip_Decompression"; }
83 private:
84 std::unique_ptr<Compression_Stream> make_stream() const override;
85 };
86
87}
88
89#endif
std::string name() const override
Definition: zlib.h:44
std::string name() const override
Definition: zlib.h:55
std::string name() const override
Definition: zlib.h:69
Gzip_Compression(uint8_t os_code=255, uint64_t hdr_time=0)
Definition: zlib.h:66
std::string name() const override
Definition: zlib.h:82
std::string name() const override
Definition: zlib.h:22
std::string name() const override
Definition: zlib.h:33
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
Definition: alg_id.cpp:12