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