Changeset View
Changeset View
Standalone View
Standalone View
externals/figlet/inflate.h
- This file was added.
/* | |||||
* inflate.h - inflate decompression routine | |||||
* | |||||
* Version 1.1.2 | |||||
*/ | |||||
/* | |||||
* Copyright (C) 1995, Edward B. Hamrick | |||||
* | |||||
* Permission to use, copy, modify, and distribute this software and | |||||
* its documentation for any purpose and without fee is hereby granted, | |||||
* provided that the above copyright notice appear in all copies and | |||||
* that both that copyright notice and this permission notice appear in | |||||
* supporting documentation, and that the name of the copyright holders | |||||
* not be used in advertising or publicity pertaining to distribution of | |||||
* the software without specific, written prior permission. The copyright | |||||
* holders makes no representations about the suitability of this software | |||||
* for any purpose. It is provided "as is" without express or implied warranty. | |||||
* | |||||
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS | |||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, | |||||
* IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT | |||||
* OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF | |||||
* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | |||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE | |||||
* OF THIS SOFTWARE. | |||||
*/ | |||||
/* | |||||
* Changes from 1.1 to 1.1.2: | |||||
* Relicensed under the MIT license, with consent of the copyright holders. | |||||
* Claudio Matsuoka (Jan 11 2011) | |||||
*/ | |||||
/* | |||||
* 1) All file i/o is done externally to these routines | |||||
* 2) Routines are symmetrical so inflate can feed into deflate | |||||
* 3) Routines can be easily integrated into wide range of applications | |||||
* 4) Routines are very portable, and use only ANSI C | |||||
* 5) No #defines in inflate.h to conflict with external #defines | |||||
* 6) No external routines need be called by these routines | |||||
* 7) Buffers are owned by the calling routine | |||||
* 8) No static non-constant variables are allowed | |||||
*/ | |||||
/* | |||||
* Note that for each call to InflatePutBuffer, there will be | |||||
* 0 or more calls to (*putbuffer_ptr). All except the last | |||||
* call to (*putbuffer_ptr) will be with 32768 bytes, although | |||||
* this behaviour may change in the future. Before InflatePutBuffer | |||||
* returns, it will have output as much uncompressed data as | |||||
* is possible. | |||||
*/ | |||||
#ifndef __INFLATE_H | |||||
#define __INFLATE_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/* Routine to initialize inflate decompression */ | |||||
void *InflateInitialize( /* returns InflateState */ | |||||
void *AppState, /* for passing to putbuffer */ | |||||
int (*putbuffer_ptr)( /* returns 0 on success */ | |||||
void *AppState, /* opaque ptr from Initialize */ | |||||
unsigned char *buffer, /* buffer to put */ | |||||
long length /* length of buffer */ | |||||
), | |||||
void *(*malloc_ptr)(long length), /* utility routine */ | |||||
void (*free_ptr)(void *buffer) /* utility routine */ | |||||
); | |||||
/* Call-in routine to put a buffer into inflate decompression */ | |||||
int InflatePutBuffer( /* returns 0 on success */ | |||||
void *InflateState, /* opaque ptr from Initialize */ | |||||
unsigned char *buffer, /* buffer to put */ | |||||
long length /* length of buffer */ | |||||
); | |||||
/* Routine to terminate inflate decompression */ | |||||
int InflateTerminate( /* returns 0 on success */ | |||||
void *InflateState /* opaque ptr from Initialize */ | |||||
); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif |