compress.h revision 60573
1/*
2 *
3 * compress.h
4 *
5 * Author: Tatu Ylonen <ylo@cs.hut.fi>
6 *
7 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8 *                    All rights reserved
9 *
10 * Created: Wed Oct 25 22:12:46 1995 ylo
11 *
12 * Interface to packet compression for ssh.
13 *
14 */
15
16/* RCSID("$Id: compress.h,v 1.4 2000/04/14 10:30:31 markus Exp $"); */
17
18#ifndef COMPRESS_H
19#define COMPRESS_H
20
21/*
22 * Initializes compression; level is compression level from 1 to 9 (as in
23 * gzip).
24 */
25void    buffer_compress_init(int level);
26
27/* Frees any data structures allocated by buffer_compress_init. */
28void    buffer_compress_uninit();
29
30/*
31 * Compresses the contents of input_buffer into output_buffer.  All packets
32 * compressed using this function will form a single compressed data stream;
33 * however, data will be flushed at the end of every call so that each
34 * output_buffer can be decompressed independently (but in the appropriate
35 * order since they together form a single compression stream) by the
36 * receiver.  This appends the compressed data to the output buffer.
37 */
38void    buffer_compress(Buffer * input_buffer, Buffer * output_buffer);
39
40/*
41 * Uncompresses the contents of input_buffer into output_buffer.  All packets
42 * uncompressed using this function will form a single compressed data
43 * stream; however, data will be flushed at the end of every call so that
44 * each output_buffer.  This must be called for the same size units that the
45 * buffer_compress was called, and in the same order that buffers compressed
46 * with that.  This appends the uncompressed data to the output buffer.
47 */
48void    buffer_uncompress(Buffer * input_buffer, Buffer * output_buffer);
49
50#endif				/* COMPRESS_H */
51