19e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/* puff.h
2381716e9396b55b1adb8235b020c37344f60ab07Elliott Hughes  Copyright (C) 2002-2010 Mark Adler, all rights reserved
3ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes  version 2.2, 25 Apr 2010
49e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
59e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  This software is provided 'as-is', without any express or implied
69e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  warranty.  In no event will the author be held liable for any damages
79e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  arising from the use of this software.
89e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
99e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  Permission is granted to anyone to use this software for any purpose,
109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  including commercial applications, and to alter it and redistribute it
119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  freely, subject to the following restrictions:
129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  1. The origin of this software must not be misrepresented; you must not
149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project     claim that you wrote the original software. If you use this software
159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project     in a product, an acknowledgment in the product documentation would be
169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project     appreciated but is not required.
179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  2. Altered source versions must be plainly marked as such, and must not be
189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project     misrepresented as being the original software.
199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  3. This notice may not be removed or altered from any source distribution.
209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  Mark Adler    madler@alumni.caltech.edu
229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project */
239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/*
269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project * See puff.c for purpose and usage.
279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project */
28ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes#ifndef NIL
29ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes#  define NIL ((unsigned char *)0)      /* for no output option */
30ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes#endif
31ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes
329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint puff(unsigned char *dest,           /* pointer to destination pointer */
339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         unsigned long *destlen,        /* amount of output space */
34ee9e11d0d4e3361533860bf04896abb86a291bfbElliott Hughes         const unsigned char *source,   /* pointer to source data pointer */
359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         unsigned long *sourcelen);     /* amount of input available */
36