annotate src/lib-compression/compression.h @ 22628:8623737c0129

director: Track connections' last ping time
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 26 Oct 2017 14:07:56 +0300
parents 378ba560ea9f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14739
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1 #ifndef COMPRESSION_H
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2 #define COMPRESSION_H
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 struct compression_handler {
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 const char *name;
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 const char *ext;
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 bool (*is_compressed)(struct istream *input);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 struct istream *(*create_istream)(struct istream *input,
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 bool log_errors);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 struct ostream *(*create_ostream)(struct ostream *output, int level);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 };
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 extern const struct compression_handler compression_handlers[];
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15 /* Lookup handler by its name (gz, bz2) */
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 const struct compression_handler *compression_lookup_handler(const char *name);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17 /* Detect handler by looking at the first few bytes of the input stream. */
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 const struct compression_handler *
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 compression_detect_handler(struct istream *input);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 /* Lookup handler based on filename extension in the path */
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 const struct compression_handler *
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 compression_lookup_handler_from_ext(const char *path);
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23
378ba560ea9f Moved zlib/bzlib code to lib-compression library.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 #endif