1091d81d1SSam Leffler /* $OpenBSD: deflate.h,v 1.3 2002/03/14 01:26:51 millert Exp $ */ 2091d81d1SSam Leffler 360727d8bSWarner Losh /*- 4091d81d1SSam Leffler * Copyright (c) 2001 Jean-Jacques Bernard-Gundol (jj@wabbitt.org) 5091d81d1SSam Leffler * 6091d81d1SSam Leffler * Redistribution and use in source and binary forms, with or without 7091d81d1SSam Leffler * modification, are permitted provided that the following conditions 8091d81d1SSam Leffler * are met: 9091d81d1SSam Leffler * 10091d81d1SSam Leffler * 1. Redistributions of source code must retain the above copyright 11091d81d1SSam Leffler * notice, this list of conditions and the following disclaimer. 12091d81d1SSam Leffler * 2. Redistributions in binary form must reproduce the above copyright 13091d81d1SSam Leffler * notice, this list of conditions and the following disclaimer in the 14091d81d1SSam Leffler * documentation and/or other materials provided with the distribution. 15091d81d1SSam Leffler * 3. The name of the author may not be used to endorse or promote products 16091d81d1SSam Leffler * derived from this software without specific prior written permission. 17091d81d1SSam Leffler * 18091d81d1SSam Leffler * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19091d81d1SSam Leffler * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20091d81d1SSam Leffler * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21091d81d1SSam Leffler * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22091d81d1SSam Leffler * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23091d81d1SSam Leffler * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24091d81d1SSam Leffler * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25091d81d1SSam Leffler * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26091d81d1SSam Leffler * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27091d81d1SSam Leffler * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28091d81d1SSam Leffler */ 29091d81d1SSam Leffler 30091d81d1SSam Leffler /* 31091d81d1SSam Leffler * Definition for the wrapper around the deflate compression 32091d81d1SSam Leffler * algorithm used in /sys/crypto 33091d81d1SSam Leffler */ 34091d81d1SSam Leffler 35091d81d1SSam Leffler #ifndef _CRYPTO_DEFLATE_H_ 36091d81d1SSam Leffler #define _CRYPTO_DEFLATE_H_ 37091d81d1SSam Leffler 38091d81d1SSam Leffler #define Z_METHOD 8 39091d81d1SSam Leffler #define Z_MEMLEVEL 8 40091d81d1SSam Leffler #define MINCOMP 2 /* won't be used, but must be defined */ 41091d81d1SSam Leffler #define ZBUF 10 42091d81d1SSam Leffler 43*d3d79e96SJohn Baldwin uint32_t deflate_global(uint8_t *, uint32_t, int, uint8_t **); 44091d81d1SSam Leffler 456f443becSBjoern A. Zeeb /* 466f443becSBjoern A. Zeeb * We are going to use a combined allocation to hold the metadata 476f443becSBjoern A. Zeeb * from the struct immediately followed by the real application data. 486f443becSBjoern A. Zeeb */ 49091d81d1SSam Leffler struct deflate_buf { 506f443becSBjoern A. Zeeb struct deflate_buf *next; 516f443becSBjoern A. Zeeb uint32_t size; 526f443becSBjoern A. Zeeb uint8_t data[]; 53091d81d1SSam Leffler }; 54091d81d1SSam Leffler 55091d81d1SSam Leffler #endif /* _CRYPTO_DEFLATE_H_ */ 56