compression.zlib.ffi: Add some structures and functions for streaming unzipping.

db4
Doug Coleman 2015-05-19 10:55:47 -07:00
parent 0962b4a697
commit c9ef2824c3
1 changed files with 58 additions and 1 deletions

View File

@ -1,7 +1,7 @@
! Copyright (C) 2009 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: alien alien.c-types alien.libraries alien.syntax
combinators system ;
classes.struct combinators system ;
IN: compression.zlib.ffi
<< "zlib" {
@ -29,3 +29,60 @@ TYPEDEF: ulong uLong
FUNCTION: int compress ( Bytef* dest, uLongf* destLen, Bytef* source, uLong sourceLen ) ;
FUNCTION: int compress2 ( Bytef* dest, uLongf* destLen, Bytef* source, uLong sourceLen, int level ) ;
FUNCTION: int uncompress ( Bytef* dest, uLongf* destLen, Bytef* source, uLong sourceLen ) ;
STRUCT: z_stream
{ next_in uchar* }
{ avail_in uint }
{ total_in ulong }
{ next_out uchar* }
{ avail_out uint }
{ total_out ulong }
{ msg char* }
{ state void* }
{ zalloc void* }
{ zfree void* }
{ opaque void* }
{ data_type int }
{ adler ulong }
{ reserved ulong } ;
TYPEDEF: z_stream* z_streamp
STRUCT: gz_header
{ text int }
{ time ulong }
{ xflags int }
{ os int }
{ extra uchar* }
{ extra_len uint }
{ extra_max uint }
{ name uchar* }
{ name_max uint }
{ comment uchar* }
{ comm_max uint }
{ hcrc int }
{ done int } ;
TYPEDEF: gz_header* gz_headerp
CONSTANT: ZLIB_VERSION "1.2.5"
FUNCTION: int inflateInit_ ( z_streamp strm, c-string version, int stream_size ) ;
FUNCTION: int inflateInit2_ ( z_streamp strm, int windowBits, c-string version, int stream_size ) ;
FUNCTION: int inflateReset ( z_streamp strm ) ;
FUNCTION: int inflateEnd ( z_streamp strm ) ;
CONSTANT: Z_NO_FLUSH 0
CONSTANT: Z_PARTIAL_FLUSH 1
CONSTANT: Z_SYNC_FLUSH 2
CONSTANT: Z_FULL_FLUSH 3
CONSTANT: Z_FINISH 4
CONSTANT: Z_BLOCK 5
CONSTANT: Z_TREES 6
FUNCTION: int inflate ( z_streamp strm, int flush ) ;
FUNCTION: int inflateGetHeader ( z_streamp strm, gz_headerp head ) ;