@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 90 lines 3.6 kB view raw
1/* 2 * inflate.h - inflate decompression routine 3 * 4 * Version 1.1.2 5 */ 6 7/* 8 * Copyright (C) 1995, Edward B. Hamrick 9 * 10 * Permission to use, copy, modify, and distribute this software and 11 * its documentation for any purpose and without fee is hereby granted, 12 * provided that the above copyright notice appear in all copies and 13 * that both that copyright notice and this permission notice appear in 14 * supporting documentation, and that the name of the copyright holders 15 * not be used in advertising or publicity pertaining to distribution of 16 * the software without specific, written prior permission. The copyright 17 * holders makes no representations about the suitability of this software 18 * for any purpose. It is provided "as is" without express or implied warranty. 19 * 20 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS 21 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 22 * IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT 23 * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 24 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 25 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 26 * OF THIS SOFTWARE. 27 */ 28 29/* 30 * Changes from 1.1 to 1.1.2: 31 * Relicensed under the MIT license, with consent of the copyright holders. 32 * Claudio Matsuoka (Jan 11 2011) 33 */ 34 35/* 36 * 1) All file i/o is done externally to these routines 37 * 2) Routines are symmetrical so inflate can feed into deflate 38 * 3) Routines can be easily integrated into wide range of applications 39 * 4) Routines are very portable, and use only ANSI C 40 * 5) No #defines in inflate.h to conflict with external #defines 41 * 6) No external routines need be called by these routines 42 * 7) Buffers are owned by the calling routine 43 * 8) No static non-constant variables are allowed 44 */ 45 46/* 47 * Note that for each call to InflatePutBuffer, there will be 48 * 0 or more calls to (*putbuffer_ptr). All except the last 49 * call to (*putbuffer_ptr) will be with 32768 bytes, although 50 * this behaviour may change in the future. Before InflatePutBuffer 51 * returns, it will have output as much uncompressed data as 52 * is possible. 53 */ 54 55#ifndef __INFLATE_H 56#define __INFLATE_H 57 58#ifdef __cplusplus 59extern "C" { 60#endif 61 62/* Routine to initialize inflate decompression */ 63void *InflateInitialize( /* returns InflateState */ 64 void *AppState, /* for passing to putbuffer */ 65 int (*putbuffer_ptr)( /* returns 0 on success */ 66 void *AppState, /* opaque ptr from Initialize */ 67 unsigned char *buffer, /* buffer to put */ 68 long length /* length of buffer */ 69 ), 70 void *(*malloc_ptr)(long length), /* utility routine */ 71 void (*free_ptr)(void *buffer) /* utility routine */ 72); 73 74/* Call-in routine to put a buffer into inflate decompression */ 75int InflatePutBuffer( /* returns 0 on success */ 76 void *InflateState, /* opaque ptr from Initialize */ 77 unsigned char *buffer, /* buffer to put */ 78 long length /* length of buffer */ 79); 80 81/* Routine to terminate inflate decompression */ 82int InflateTerminate( /* returns 0 on success */ 83 void *InflateState /* opaque ptr from Initialize */ 84); 85 86#ifdef __cplusplus 87} 88#endif 89 90#endif