xref: /freebsd/sys/opencrypto/deflate.h (revision 1c05a6ea6b849ff95e539c31adea887c644a6a01)
1 /*	$FreeBSD$	*/
2 /* $OpenBSD: deflate.h,v 1.3 2002/03/14 01:26:51 millert Exp $ */
3 
4 /*-
5  * Copyright (c) 2001 Jean-Jacques Bernard-Gundol (jj@wabbitt.org)
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  *   notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *   notice, this list of conditions and the following disclaimer in the
15  *   documentation and/or other materials provided with the distribution.
16  * 3. The name of the author may not be used to endorse or promote products
17  *   derived from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 /*
32  * Definition for the wrapper around the deflate compression
33  * algorithm used in /sys/crypto
34  */
35 
36 #ifndef _CRYPTO_DEFLATE_H_
37 #define _CRYPTO_DEFLATE_H_
38 
39 #include <sys/zlib.h>
40 
41 #define Z_METHOD	8
42 #define Z_MEMLEVEL	8
43 #define MINCOMP		2	/* won't be used, but must be defined */
44 #define ZBUF		10
45 
46 u_int32_t deflate_global(u_int8_t *, u_int32_t, int, u_int8_t **);
47 void *z_alloc(void *, u_int, u_int);
48 void z_free(void *, void *);
49 
50 /*
51  * We are going to use a combined allocation to hold the metadata
52  * from the struct immediately followed by the real application data.
53  */
54 struct deflate_buf {
55 	struct deflate_buf *next;
56 	uint32_t size;
57 	uint8_t data[];
58 };
59 
60 #endif /* _CRYPTO_DEFLATE_H_ */
61