Ruby  2.0.0p247(2013-06-27revision41674)
Data Structures | Defines | Functions | Variables
ext/zlib/zlib.c File Reference
#include <ruby.h>
#include <zlib.h>
#include <time.h>
#include <ruby/io.h>
#include <ruby/thread.h>

Go to the source code of this file.

Data Structures

struct  zstream
struct  zstream::zstream_funcs
struct  zstream_run_args
struct  gzfile
struct  new_wrap_arg_t

Defines

#define VALGRIND_MAKE_MEM_DEFINED(p, n)   0
#define VALGRIND_MAKE_MEM_UNDEFINED(p, n)   0
#define RUBY_ZLIB_VERSION   "0.6.0"
#define OBJ_IS_FREED(val)   (RBASIC(val)->flags == 0)
#define GZIP_SUPPORT   1
#define DEF_MEM_LEVEL   MAX_MEM_LEVEL
#define MAX_UINT(n)   (uInt)(n)
#define sizeof(x)   ((int)sizeof(x))
#define checksum_long(func, sum, ptr, len)   (func)((sum), (ptr), (len))
#define rb_zlib_adler32_combine   rb_f_notimplement
#define rb_zlib_crc32_combine   rb_f_notimplement
#define ZSTREAM_FLAG_READY   0x1
#define ZSTREAM_FLAG_IN_STREAM   0x2
#define ZSTREAM_FLAG_FINISHED   0x4
#define ZSTREAM_FLAG_CLOSING   0x8
#define ZSTREAM_FLAG_GZFILE
#define ZSTREAM_FLAG_UNUSED   0x20
#define ZSTREAM_READY(z)   ((z)->flags |= ZSTREAM_FLAG_READY)
#define ZSTREAM_IS_READY(z)   ((z)->flags & ZSTREAM_FLAG_READY)
#define ZSTREAM_IS_FINISHED(z)   ((z)->flags & ZSTREAM_FLAG_FINISHED)
#define ZSTREAM_IS_CLOSING(z)   ((z)->flags & ZSTREAM_FLAG_CLOSING)
#define ZSTREAM_IS_GZFILE(z)   ((z)->flags & ZSTREAM_FLAG_GZFILE)
#define ZSTREAM_EXPAND_BUFFER_OK   0
#define ZSTREAM_INITIAL_BUFSIZE   1024
#define ZSTREAM_AVAIL_OUT_STEP_MAX   16384
#define ZSTREAM_AVAIL_OUT_STEP_MIN   2048
#define zstream_init_deflate(z)   zstream_init((z), &deflate_funcs)
#define zstream_init_inflate(z)   zstream_init((z), &inflate_funcs)
#define zstream_append_buffer2(z, v)   zstream_append_buffer((z),(Bytef*)RSTRING_PTR(v),RSTRING_LEN(v))
#define zstream_append_input2(z, v)
#define zstream_deflate_new(klass)   zstream_new((klass), &deflate_funcs)
#define zstream_inflate_new(klass)   zstream_new((klass), &inflate_funcs)
#define FIXNUMARG(val, ifnil)
#define ARG_LEVEL(val)   FIXNUMARG((val), Z_DEFAULT_COMPRESSION)
#define ARG_WBITS(val)   FIXNUMARG((val), MAX_WBITS)
#define ARG_MEMLEVEL(val)   FIXNUMARG((val), DEF_MEM_LEVEL)
#define ARG_STRATEGY(val)   FIXNUMARG((val), Z_DEFAULT_STRATEGY)
#define ARG_FLUSH(val)   FIXNUMARG((val), Z_NO_FLUSH)
#define GZ_MAGIC1   0x1f
#define GZ_MAGIC2   0x8b
#define GZ_METHOD_DEFLATE   8
#define GZ_FLAG_MULTIPART   0x2
#define GZ_FLAG_EXTRA   0x4
#define GZ_FLAG_ORIG_NAME   0x8
#define GZ_FLAG_COMMENT   0x10
#define GZ_FLAG_ENCRYPT   0x20
#define GZ_FLAG_UNKNOWN_MASK   0xc0
#define GZ_EXTRAFLAG_FAST   0x4
#define GZ_EXTRAFLAG_SLOW   0x2
#define OS_MSDOS   0x00
#define OS_AMIGA   0x01
#define OS_VMS   0x02
#define OS_UNIX   0x03
#define OS_ATARI   0x05
#define OS_OS2   0x06
#define OS_MACOS   0x07
#define OS_TOPS20   0x0a
#define OS_WIN32   0x0b
#define OS_VMCMS   0x04
#define OS_ZSYSTEM   0x08
#define OS_CPM   0x09
#define OS_QDOS   0x0c
#define OS_RISCOS   0x0d
#define OS_UNKNOWN   0xff
#define OS_CODE   OS_UNIX
#define GZFILE_CBUF_CAPA   10
#define GZFILE_FLAG_SYNC   ZSTREAM_FLAG_UNUSED
#define GZFILE_FLAG_HEADER_FINISHED   (ZSTREAM_FLAG_UNUSED << 1)
#define GZFILE_FLAG_FOOTER_FINISHED   (ZSTREAM_FLAG_UNUSED << 2)
#define GZFILE_IS_FINISHED(gz)   (ZSTREAM_IS_FINISHED(&(gz)->z) && (gz)->z.buf_filled == 0)
#define GZFILE_READ_SIZE   2048
#define gzfile_writer_new(gz)   gzfile_new((gz),&deflate_funcs,gzfile_writer_end)
#define gzfile_reader_new(gz)   gzfile_new((gz),&inflate_funcs,gzfile_reader_end)
#define rb_gzwriter_addstr   rb_io_addstr
#define rb_gzwriter_printf   rb_io_printf
#define rb_gzwriter_print   rb_io_print
#define rb_gzwriter_puts   rb_io_puts

Functions

static NORETURN (void raise_zlib_error(int, const char *))
static VALUE rb_zlib_version (VALUE)
static VALUE do_checksum (int, VALUE *, uLong(*)(uLong, const Bytef *, uInt))
static VALUE rb_zlib_adler32 (int, VALUE *, VALUE)
static VALUE rb_zlib_crc32 (int, VALUE *, VALUE)
static VALUE rb_zlib_crc_table (VALUE)
static voidpf zlib_mem_alloc (voidpf, uInt, uInt)
static void zlib_mem_free (voidpf, voidpf)
static void finalizer_warn (const char *)
static void zstream_init (struct zstream *, const struct zstream_funcs *)
static void zstream_expand_buffer (struct zstream *)
static void zstream_expand_buffer_into (struct zstream *, unsigned long)
static void zstream_append_buffer (struct zstream *, const Bytef *, long)
static VALUE zstream_detach_buffer (struct zstream *)
static VALUE zstream_shift_buffer (struct zstream *, long)
static void zstream_buffer_ungets (struct zstream *, const Bytef *, unsigned long)
static void zstream_buffer_ungetbyte (struct zstream *, int)
static void zstream_append_input (struct zstream *, const Bytef *, long)
static void zstream_discard_input (struct zstream *, long)
static void zstream_reset_input (struct zstream *)
static void zstream_passthrough_input (struct zstream *)
static VALUE zstream_detach_input (struct zstream *)
static void zstream_reset (struct zstream *)
static VALUE zstream_end (struct zstream *)
static void zstream_run (struct zstream *, Bytef *, long, int)
static VALUE zstream_sync (struct zstream *, Bytef *, long)
static void zstream_mark (struct zstream *)
static void zstream_free (struct zstream *)
static VALUE zstream_new (VALUE, const struct zstream_funcs *)
static struct zstreamget_zstream (VALUE)
static void zstream_finalize (struct zstream *)
static VALUE rb_zstream_end (VALUE)
static VALUE rb_zstream_reset (VALUE)
static VALUE rb_zstream_finish (VALUE)
static VALUE rb_zstream_flush_next_in (VALUE)
static VALUE rb_zstream_flush_next_out (VALUE)
static VALUE rb_zstream_avail_out (VALUE)
static VALUE rb_zstream_set_avail_out (VALUE, VALUE)
static VALUE rb_zstream_avail_in (VALUE)
static VALUE rb_zstream_total_in (VALUE)
static VALUE rb_zstream_total_out (VALUE)
static VALUE rb_zstream_data_type (VALUE)
static VALUE rb_zstream_adler (VALUE)
static VALUE rb_zstream_finished_p (VALUE)
static VALUE rb_zstream_closed_p (VALUE)
static VALUE rb_deflate_s_allocate (VALUE)
static VALUE rb_deflate_initialize (int, VALUE *, VALUE)
static VALUE rb_deflate_init_copy (VALUE, VALUE)
static VALUE deflate_run (VALUE)
static VALUE rb_deflate_s_deflate (int, VALUE *, VALUE)
static void do_deflate (struct zstream *, VALUE, int)
static VALUE rb_deflate_deflate (int, VALUE *, VALUE)
static VALUE rb_deflate_addstr (VALUE, VALUE)
static VALUE rb_deflate_flush (int, VALUE *, VALUE)
static VALUE rb_deflate_params (VALUE, VALUE, VALUE)
static VALUE rb_deflate_set_dictionary (VALUE, VALUE)
static VALUE inflate_run (VALUE)
static VALUE rb_inflate_s_allocate (VALUE)
static VALUE rb_inflate_initialize (int, VALUE *, VALUE)
static VALUE rb_inflate_s_inflate (VALUE, VALUE)
static void do_inflate (struct zstream *, VALUE)
static VALUE rb_inflate_inflate (VALUE, VALUE)
static VALUE rb_inflate_addstr (VALUE, VALUE)
static VALUE rb_inflate_sync (VALUE, VALUE)
static VALUE rb_inflate_sync_point_p (VALUE)
static VALUE rb_inflate_set_dictionary (VALUE, VALUE)
static void gzfile_mark (struct gzfile *)
static void gzfile_free (struct gzfile *)
static VALUE gzfile_new (VALUE, const struct zstream_funcs *, void(*) _((struct gzfile *)))
static void gzfile_reset (struct gzfile *)
static void gzfile_close (struct gzfile *, int)
static void gzfile_write_raw (struct gzfile *)
static VALUE gzfile_read_raw_partial (VALUE)
static VALUE gzfile_read_raw_rescue (VALUE)
static VALUE gzfile_read_raw (struct gzfile *)
static int gzfile_read_raw_ensure (struct gzfile *, long)
static char * gzfile_read_raw_until_zero (struct gzfile *, long)
static unsigned int gzfile_get16 (const unsigned char *)
static unsigned long gzfile_get32 (const unsigned char *)
static void gzfile_set32 (unsigned long n, unsigned char *)
static void gzfile_make_header (struct gzfile *)
static void gzfile_make_footer (struct gzfile *)
static void gzfile_read_header (struct gzfile *)
static void gzfile_check_footer (struct gzfile *)
static void gzfile_write (struct gzfile *, Bytef *, long)
static long gzfile_read_more (struct gzfile *)
static void gzfile_calc_crc (struct gzfile *, VALUE)
static VALUE gzfile_read (struct gzfile *, long)
static VALUE gzfile_read_all (struct gzfile *)
static void gzfile_ungets (struct gzfile *, const Bytef *, long)
static void gzfile_ungetbyte (struct gzfile *, int)
static VALUE gzfile_writer_end_run (VALUE)
static void gzfile_writer_end (struct gzfile *)
static VALUE gzfile_reader_end_run (VALUE)
static void gzfile_reader_end (struct gzfile *)
static void gzfile_reader_rewind (struct gzfile *)
static VALUE gzfile_reader_get_unused (struct gzfile *)
static struct gzfileget_gzfile (VALUE)
static VALUE gzfile_ensure_close (VALUE)
static VALUE rb_gzfile_s_wrap (int, VALUE *, VALUE)
static VALUE gzfile_s_open (int, VALUE *, VALUE, const char *)
 NORETURN (static void gzfile_raise(struct gzfile *, VALUE, const char *))
static VALUE gzfile_error_inspect (VALUE)
static VALUE rb_gzfile_to_io (VALUE)
static VALUE rb_gzfile_crc (VALUE)
static VALUE rb_gzfile_mtime (VALUE)
static VALUE rb_gzfile_level (VALUE)
static VALUE rb_gzfile_os_code (VALUE)
static VALUE rb_gzfile_orig_name (VALUE)
static VALUE rb_gzfile_comment (VALUE)
static VALUE rb_gzfile_lineno (VALUE)
static VALUE rb_gzfile_set_lineno (VALUE, VALUE)
static VALUE rb_gzfile_set_mtime (VALUE, VALUE)
static VALUE rb_gzfile_set_orig_name (VALUE, VALUE)
static VALUE rb_gzfile_set_comment (VALUE, VALUE)
static VALUE rb_gzfile_close (VALUE)
static VALUE rb_gzfile_finish (VALUE)
static VALUE rb_gzfile_closed_p (VALUE)
static VALUE rb_gzfile_eof_p (VALUE)
static VALUE rb_gzfile_sync (VALUE)
static VALUE rb_gzfile_set_sync (VALUE, VALUE)
static VALUE rb_gzfile_total_in (VALUE)
static VALUE rb_gzfile_total_out (VALUE)
static VALUE rb_gzfile_path (VALUE)
static VALUE rb_gzwriter_s_allocate (VALUE)
static VALUE rb_gzwriter_s_open (int, VALUE *, VALUE)
static VALUE rb_gzwriter_initialize (int, VALUE *, VALUE)
static VALUE rb_gzwriter_flush (int, VALUE *, VALUE)
static VALUE rb_gzwriter_write (VALUE, VALUE)
static VALUE rb_gzwriter_putc (VALUE, VALUE)
static VALUE rb_gzreader_s_allocate (VALUE)
static VALUE rb_gzreader_s_open (int, VALUE *, VALUE)
static VALUE rb_gzreader_initialize (int, VALUE *, VALUE)
static VALUE rb_gzreader_rewind (VALUE)
static VALUE rb_gzreader_unused (VALUE)
static VALUE rb_gzreader_read (int, VALUE *, VALUE)
static VALUE rb_gzreader_getc (VALUE)
static VALUE rb_gzreader_readchar (VALUE)
static VALUE rb_gzreader_each_byte (VALUE)
static VALUE rb_gzreader_ungetc (VALUE, VALUE)
static VALUE rb_gzreader_ungetbyte (VALUE, VALUE)
static void gzreader_skip_linebreaks (struct gzfile *)
static VALUE gzreader_gets (int, VALUE *, VALUE)
static VALUE rb_gzreader_gets (int, VALUE *, VALUE)
static VALUE rb_gzreader_readline (int, VALUE *, VALUE)
static VALUE rb_gzreader_each (int, VALUE *, VALUE)
static VALUE rb_gzreader_readlines (int, VALUE *, VALUE)
void Init_zlib (void)
static void raise_zlib_error (int err, const char *msg)
static VALUE do_checksum (int argc, VALUE *argv, uLong *func)
static void * zstream_expand_buffer_protect (void *ptr)
static int zstream_expand_buffer_without_gvl (struct zstream *z)
static void * zstream_run_func (void *ptr)
static void zstream_unblock_func (void *ptr)
static VALUE rb_inflate_add_dictionary (VALUE obj, VALUE dictionary)
static VALUE gzfile_new (VALUE klass, const struct zstream_funcs *funcs, void(*endfunc)(struct gzfile *))
static void gzfile_raise (struct gzfile *gz, VALUE klass, const char *message)
static VALUE gzfile_newstr (struct gzfile *gz, VALUE str)
static long gzfile_fill (struct gzfile *gz, long len)
static VALUE gzfile_readpartial (struct gzfile *gz, long len, VALUE outbuf)
static VALUE gzfile_getc (struct gzfile *gz)
static VALUE new_wrap (VALUE tmp)
static VALUE gzfile_wrap (int argc, VALUE *argv, VALUE klass, int close_io_on_error)
static void rb_gzfile_ecopts (struct gzfile *gz, VALUE opts)
static VALUE rb_gzreader_readpartial (int argc, VALUE *argv, VALUE obj)
static VALUE rb_gzreader_getbyte (VALUE obj)
static VALUE rb_gzreader_readbyte (VALUE obj)
static VALUE rb_gzreader_each_char (VALUE obj)
static VALUE rb_gzreader_bytes (VALUE obj)
static void rscheck (const char *rsptr, long rslen, VALUE rs)
static long gzreader_charboundary (struct gzfile *gz, long n)
static VALUE rb_gzreader_lines (int argc, VALUE *argv, VALUE obj)

Variables

static ID id_dictionaries
static VALUE cZError
static VALUE cStreamEnd
static VALUE cNeedDict
static VALUE cStreamError
static VALUE cDataError
static VALUE cMemError
static VALUE cBufError
static VALUE cVersionError
static struct zstream_funcs deflate_funcs
static struct zstream_funcs inflate_funcs
static ID id_write
static ID id_read
static ID id_readpartial
static ID id_flush
static ID id_seek
static ID id_close
static ID id_path
static ID id_input
static VALUE cGzError
static VALUE cNoFooter
static VALUE cCRCError
static VALUE cLengthError

Define Documentation

#define ARG_FLUSH (   val)    FIXNUMARG((val), Z_NO_FLUSH)

Definition at line 1442 of file zlib.c.

Referenced by rb_deflate_deflate().

#define ARG_LEVEL (   val)    FIXNUMARG((val), Z_DEFAULT_COMPRESSION)
#define ARG_MEMLEVEL (   val)    FIXNUMARG((val), DEF_MEM_LEVEL)

Definition at line 1440 of file zlib.c.

Referenced by rb_deflate_initialize().

#define ARG_STRATEGY (   val)    FIXNUMARG((val), Z_DEFAULT_STRATEGY)

Definition at line 1441 of file zlib.c.

Referenced by rb_deflate_initialize(), rb_deflate_params(), and rb_gzwriter_initialize().

#define ARG_WBITS (   val)    FIXNUMARG((val), MAX_WBITS)

Definition at line 1439 of file zlib.c.

Referenced by rb_deflate_initialize(), and rb_inflate_initialize().

#define checksum_long (   func,
  sum,
  ptr,
  len 
)    (func)((sum), (ptr), (len))

Definition at line 392 of file zlib.c.

Referenced by do_checksum(), gzfile_calc_crc(), and gzfile_write().

#define DEF_MEM_LEVEL   MAX_MEM_LEVEL

Definition at line 42 of file zlib.c.

Referenced by Init_zlib(), and rb_gzwriter_initialize().

#define FIXNUMARG (   val,
  ifnil 
)
Value:
(NIL_P((val)) ? (ifnil) \
    : ((void)Check_Type((val), T_FIXNUM), FIX2INT((val))))

Definition at line 1434 of file zlib.c.

Referenced by rb_deflate_flush(), and rb_gzwriter_flush().

#define GZ_EXTRAFLAG_FAST   0x4

Definition at line 2156 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_EXTRAFLAG_SLOW   0x2

Definition at line 2157 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_COMMENT   0x10

Definition at line 2152 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_ENCRYPT   0x20

Definition at line 2153 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_EXTRA   0x4

Definition at line 2150 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_MULTIPART   0x2

Definition at line 2149 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_ORIG_NAME   0x8

Definition at line 2151 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_UNKNOWN_MASK   0xc0

Definition at line 2154 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_MAGIC1   0x1f

Definition at line 2146 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_MAGIC2   0x8b

Definition at line 2147 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_METHOD_DEFLATE   8

Definition at line 2148 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZFILE_CBUF_CAPA   10

Definition at line 2208 of file zlib.c.

Referenced by gzfile_getc().

Definition at line 2210 of file zlib.c.

Referenced by gzfile_write(), gzfile_write_raw(), rb_gzfile_set_sync(), and rb_gzfile_sync().

#define GZFILE_IS_FINISHED (   gz)    (ZSTREAM_IS_FINISHED(&(gz)->z) && (gz)->z.buf_filled == 0)
#define GZFILE_READ_SIZE   2048

Definition at line 2217 of file zlib.c.

Referenced by gzfile_read_raw_partial(), and gzfile_read_raw_rescue().

Definition at line 2282 of file zlib.c.

Referenced by rb_gzreader_s_allocate().

Definition at line 2281 of file zlib.c.

Referenced by rb_gzwriter_s_allocate().

#define GZIP_SUPPORT   1

Definition at line 34 of file zlib.c.

#define MAX_UINT (   n)    (uInt)(n)

Definition at line 55 of file zlib.c.

Referenced by zstream_expand_buffer_into(), zstream_run(), and zstream_sync().

#define OBJ_IS_FREED (   val)    (RBASIC(val)->flags == 0)

Definition at line 31 of file zlib.c.

#define OS_AMIGA   0x01

Definition at line 2161 of file zlib.c.

Referenced by Init_zlib().

#define OS_ATARI   0x05

Definition at line 2164 of file zlib.c.

Referenced by Init_zlib().

#define OS_CODE   OS_UNIX

Definition at line 2178 of file zlib.c.

Referenced by gzfile_new(), and Init_zlib().

#define OS_CPM   0x09

Definition at line 2172 of file zlib.c.

Referenced by Init_zlib().

#define OS_MACOS   0x07

Definition at line 2166 of file zlib.c.

Referenced by Init_zlib().

#define OS_MSDOS   0x00

Definition at line 2160 of file zlib.c.

Referenced by Init_zlib().

#define OS_OS2   0x06

Definition at line 2165 of file zlib.c.

Referenced by Init_zlib().

#define OS_QDOS   0x0c

Definition at line 2173 of file zlib.c.

Referenced by Init_zlib().

#define OS_RISCOS   0x0d

Definition at line 2174 of file zlib.c.

Referenced by Init_zlib().

#define OS_TOPS20   0x0a

Definition at line 2167 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNIX   0x03

Definition at line 2163 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNKNOWN   0xff

Definition at line 2175 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMCMS   0x04

Definition at line 2170 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMS   0x02

Definition at line 2162 of file zlib.c.

Referenced by Init_zlib().

#define OS_WIN32   0x0b

Definition at line 2168 of file zlib.c.

Referenced by Init_zlib().

#define OS_ZSYSTEM   0x08

Definition at line 2171 of file zlib.c.

Referenced by Init_zlib().

Definition at line 3564 of file zlib.c.

Referenced by Init_zlib().

Definition at line 3574 of file zlib.c.

Referenced by Init_zlib().

Definition at line 3569 of file zlib.c.

Referenced by Init_zlib().

Definition at line 3579 of file zlib.c.

Referenced by Init_zlib().

Definition at line 461 of file zlib.c.

Referenced by Init_zlib().

Definition at line 499 of file zlib.c.

Referenced by Init_zlib().

#define RUBY_ZLIB_VERSION   "0.6.0"

Definition at line 28 of file zlib.c.

Referenced by Init_zlib().

#define sizeof (   x)    ((int)sizeof(x))

Definition at line 58 of file zlib.c.

#define VALGRIND_MAKE_MEM_DEFINED (   p,
 
)    0

Definition at line 24 of file zlib.c.

Referenced by zlib_mem_alloc().

#define VALGRIND_MAKE_MEM_UNDEFINED (   p,
 
)    0

Definition at line 25 of file zlib.c.

#define zstream_append_buffer2 (   z,
 
)    zstream_append_buffer((z),(Bytef*)RSTRING_PTR(v),RSTRING_LEN(v))
#define zstream_append_input2 (   z,
 
)
Value:
RB_GC_GUARD(v),\
    zstream_append_input((z), (Bytef*)RSTRING_PTR(v), RSTRING_LEN(v))

Definition at line 875 of file zlib.c.

Referenced by gzfile_read_raw_ensure(), and gzfile_read_raw_until_zero().

#define ZSTREAM_AVAIL_OUT_STEP_MAX   16384
#define ZSTREAM_AVAIL_OUT_STEP_MIN   2048

Definition at line 564 of file zlib.c.

Referenced by zstream_expand_buffer(), and zstream_expand_buffer_without_gvl().

#define zstream_deflate_new (   klass)    zstream_new((klass), &deflate_funcs)

Definition at line 1173 of file zlib.c.

Referenced by rb_deflate_s_allocate().

#define ZSTREAM_EXPAND_BUFFER_OK   0

Definition at line 557 of file zlib.c.

Referenced by zstream_expand_buffer_without_gvl().

#define ZSTREAM_FLAG_CLOSING   0x8

Definition at line 547 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_FLAG_FINISHED   0x4

Definition at line 546 of file zlib.c.

Referenced by zstream_run_func().

Value:
0x10 /* disallows yield from expand_buffer for
                                        gzip*/

Definition at line 548 of file zlib.c.

Referenced by gzfile_new().

#define ZSTREAM_FLAG_IN_STREAM   0x2

Definition at line 545 of file zlib.c.

Referenced by zstream_end(), zstream_run(), and zstream_run_func().

#define ZSTREAM_FLAG_READY   0x1

Definition at line 544 of file zlib.c.

Referenced by zstream_reset().

#define ZSTREAM_FLAG_UNUSED   0x20

Definition at line 549 of file zlib.c.

#define zstream_inflate_new (   klass)    zstream_new((klass), &inflate_funcs)

Definition at line 1174 of file zlib.c.

Referenced by rb_inflate_s_allocate().

#define zstream_init_deflate (   z)    zstream_init((z), &deflate_funcs)

Definition at line 618 of file zlib.c.

Referenced by rb_deflate_s_deflate().

#define zstream_init_inflate (   z)    zstream_init((z), &inflate_funcs)

Definition at line 619 of file zlib.c.

Referenced by rb_inflate_s_inflate().

#define ZSTREAM_INITIAL_BUFSIZE   1024

Definition at line 561 of file zlib.c.

Referenced by zstream_expand_buffer().

#define ZSTREAM_IS_CLOSING (   z)    ((z)->flags & ZSTREAM_FLAG_CLOSING)

Definition at line 554 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_IS_FINISHED (   z)    ((z)->flags & ZSTREAM_FLAG_FINISHED)
#define ZSTREAM_IS_GZFILE (   z)    ((z)->flags & ZSTREAM_FLAG_GZFILE)

Definition at line 555 of file zlib.c.

Referenced by zstream_detach_buffer(), zstream_expand_buffer(), and zstream_run().

#define ZSTREAM_IS_READY (   z)    ((z)->flags & ZSTREAM_FLAG_READY)
#define ZSTREAM_READY (   z)    ((z)->flags |= ZSTREAM_FLAG_READY)

Function Documentation

static VALUE deflate_run ( VALUE  args) [static]

Definition at line 1570 of file zlib.c.

References args, RSTRING_LEN, RSTRING_PTR, zstream_detach_buffer(), and zstream_run().

Referenced by rb_deflate_s_deflate().

static VALUE do_checksum ( int  ,
VALUE ,
uLong(*)(uLong, const Bytef *, uInt)   
) [static]
static VALUE do_checksum ( int  argc,
VALUE argv,
uLong *  func 
) [static]
static void do_deflate ( struct zstream z,
VALUE  src,
int  flush 
) [static]

Definition at line 1629 of file zlib.c.

References NIL_P, RSTRING_LEN, RSTRING_PTR, StringValue, and zstream_run().

Referenced by rb_deflate_addstr(), and rb_deflate_deflate().

static void do_inflate ( struct zstream z,
VALUE  src 
) [static]

Definition at line 1941 of file zlib.c.

References NIL_P, RSTRING_LEN, RSTRING_PTR, zstream::stream, StringValue, and zstream_run().

Referenced by rb_inflate_addstr(), and rb_inflate_inflate().

static void finalizer_warn ( const char *  msg) [static]

Definition at line 354 of file zlib.c.

Referenced by gzfile_free(), and zstream_finalize().

static struct gzfile * get_gzfile ( VALUE  obj) [static, read]
static struct zstream * get_zstream ( VALUE  obj) [static, read]
static void gzfile_calc_crc ( struct gzfile gz,
VALUE  str 
) [static]
static void gzfile_check_footer ( struct gzfile gz) [static]
static void gzfile_close ( struct gzfile gz,
int  closeflag 
) [static]
static VALUE gzfile_ensure_close ( VALUE  obj) [static]

Definition at line 2983 of file zlib.c.

References Data_Get_Struct, gzfile_close(), Qnil, gzfile::z, and ZSTREAM_IS_READY.

Referenced by gzfile_wrap().

static VALUE gzfile_error_inspect ( VALUE  error) [static]
static long gzfile_fill ( struct gzfile gz,
long  len 
) [static]
static void gzfile_free ( struct gzfile gz) [static]

Definition at line 2232 of file zlib.c.

References gzfile::cbuf, finalizer_warn(), zstream::func, xfree(), gzfile::z, zstream_finalize(), and ZSTREAM_IS_READY.

Referenced by gzfile_new().

static unsigned int gzfile_get16 ( const unsigned char *  src) [static]

Definition at line 2394 of file zlib.c.

Referenced by gzfile_read_header().

static unsigned long gzfile_get32 ( const unsigned char *  src) [static]

Definition at line 2403 of file zlib.c.

Referenced by gzfile_check_footer(), and gzfile_read_header().

static VALUE gzfile_getc ( struct gzfile gz) [static]
static void gzfile_make_footer ( struct gzfile gz) [static]
static void gzfile_make_header ( struct gzfile gz) [static]
static void gzfile_mark ( struct gzfile gz) [static]
static VALUE gzfile_new ( VALUE  ,
const struct zstream_funcs *  ,
void(*) _((struct gzfile *))   
) [static]
static VALUE gzfile_new ( VALUE  klass,
const struct zstream_funcs *  funcs,
void (*)(struct gzfile *)  endfunc 
) [static]
static VALUE gzfile_newstr ( struct gzfile gz,
VALUE  str 
) [static]
static void gzfile_raise ( struct gzfile gz,
VALUE  klass,
const char *  message 
) [static]
static VALUE gzfile_read ( struct gzfile gz,
long  len 
) [static]
static VALUE gzfile_read_all ( struct gzfile gz) [static]
static void gzfile_read_header ( struct gzfile gz) [static]
static long gzfile_read_more ( struct gzfile gz) [static]
static VALUE gzfile_read_raw ( struct gzfile gz) [static]
static int gzfile_read_raw_ensure ( struct gzfile gz,
long  size 
) [static]
static VALUE gzfile_read_raw_partial ( VALUE  arg) [static]

Definition at line 2328 of file zlib.c.

References Check_Type, GZFILE_READ_SIZE, INT2FIX, gzfile::io, rb_funcall(), and T_STRING.

Referenced by gzfile_read_raw().

static VALUE gzfile_read_raw_rescue ( VALUE  arg) [static]
static char * gzfile_read_raw_until_zero ( struct gzfile gz,
long  offset 
) [static]
static void gzfile_reader_end ( struct gzfile gz) [static]
static VALUE gzfile_reader_end_run ( VALUE  arg) [static]
static VALUE gzfile_reader_get_unused ( struct gzfile gz) [static]
static void gzfile_reader_rewind ( struct gzfile gz) [static]
static VALUE gzfile_readpartial ( struct gzfile gz,
long  len,
VALUE  outbuf 
) [static]
static void gzfile_reset ( struct gzfile gz) [static]
static VALUE gzfile_s_open ( int  argc,
VALUE argv,
VALUE  klass,
const char *  mode 
) [static]

Definition at line 3050 of file zlib.c.

References gzfile_wrap(), gzfile::io, rb_eArgError, rb_file_open_str(), and rb_raise().

Referenced by rb_gzreader_s_open(), and rb_gzwriter_s_open().

static void gzfile_set32 ( unsigned long  n,
unsigned char *  dst 
) [static]

Definition at line 2414 of file zlib.c.

Referenced by gzfile_make_footer(), and gzfile_make_header().

static void gzfile_ungetbyte ( struct gzfile gz,
int  c 
) [static]

Definition at line 2832 of file zlib.c.

References gzfile::ungetc, gzfile::z, and zstream_buffer_ungetbyte().

Referenced by rb_gzreader_ungetbyte().

static void gzfile_ungets ( struct gzfile gz,
const Bytef *  b,
long  len 
) [static]

Definition at line 2825 of file zlib.c.

References gzfile::ungetc, gzfile::z, and zstream_buffer_ungets().

Referenced by rb_gzreader_ungetc().

static VALUE gzfile_wrap ( int  argc,
VALUE argv,
VALUE  klass,
int  close_io_on_error 
) [static]
static void gzfile_write ( struct gzfile gz,
Bytef *  str,
long  len 
) [static]
static void gzfile_write_raw ( struct gzfile gz) [static]
static void gzfile_writer_end ( struct gzfile gz) [static]
static VALUE gzfile_writer_end_run ( VALUE  arg) [static]
static long gzreader_charboundary ( struct gzfile gz,
long  n 
) [static]
static VALUE gzreader_gets ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static void gzreader_skip_linebreaks ( struct gzfile gz) [static]
static VALUE inflate_run ( VALUE  args) [static]

Definition at line 1884 of file zlib.c.

References args, RSTRING_LEN, RSTRING_PTR, zstream_detach_buffer(), and zstream_run().

Referenced by rb_inflate_s_inflate().

void Init_zlib ( void  )

Definition at line 4198 of file zlib.c.

References DEF_MEM_LEVEL, gzfile_error_inspect(), id_dictionaries, INT2FIX, OS_AMIGA, OS_ATARI, OS_CODE, OS_CPM, OS_MACOS, OS_MSDOS, OS_OS2, OS_QDOS, OS_RISCOS, OS_TOPS20, OS_UNIX, OS_UNKNOWN, OS_VMCMS, OS_VMS, OS_WIN32, OS_ZSYSTEM, rb_cObject, rb_define_alloc_func(), rb_define_attr(), rb_define_class_under(), rb_define_const(), rb_define_method(), rb_define_module(), rb_define_module_function(), rb_define_singleton_method(), rb_deflate_addstr(), rb_deflate_deflate(), rb_deflate_flush(), rb_deflate_init_copy(), rb_deflate_initialize(), rb_deflate_params(), rb_deflate_s_allocate(), rb_deflate_s_deflate(), rb_deflate_set_dictionary(), rb_eStandardError, rb_gzfile_close(), rb_gzfile_closed_p(), rb_gzfile_comment(), rb_gzfile_crc(), rb_gzfile_eof_p(), rb_gzfile_finish(), rb_gzfile_level(), rb_gzfile_lineno(), rb_gzfile_mtime(), rb_gzfile_orig_name(), rb_gzfile_os_code(), rb_gzfile_s_wrap(), rb_gzfile_set_comment(), rb_gzfile_set_lineno(), rb_gzfile_set_mtime(), rb_gzfile_set_orig_name(), rb_gzfile_set_sync(), rb_gzfile_sync(), rb_gzfile_to_io(), rb_gzfile_total_in(), rb_gzfile_total_out(), rb_gzreader_bytes(), rb_gzreader_each(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_gzreader_getbyte(), rb_gzreader_getc(), rb_gzreader_gets(), rb_gzreader_initialize(), rb_gzreader_lines(), rb_gzreader_read(), rb_gzreader_readbyte(), rb_gzreader_readchar(), rb_gzreader_readline(), rb_gzreader_readlines(), rb_gzreader_readpartial(), rb_gzreader_rewind(), rb_gzreader_s_allocate(), rb_gzreader_s_open(), rb_gzreader_ungetbyte(), rb_gzreader_ungetc(), rb_gzreader_unused(), rb_gzwriter_addstr, rb_gzwriter_flush(), rb_gzwriter_initialize(), rb_gzwriter_print, rb_gzwriter_printf, rb_gzwriter_putc(), rb_gzwriter_puts, rb_gzwriter_s_allocate(), rb_gzwriter_s_open(), rb_gzwriter_write(), rb_include_module(), rb_inflate_add_dictionary(), rb_inflate_addstr(), rb_inflate_inflate(), rb_inflate_initialize(), rb_inflate_s_allocate(), rb_inflate_s_inflate(), rb_inflate_set_dictionary(), rb_inflate_sync(), rb_inflate_sync_point_p(), rb_intern, rb_mEnumerable, rb_str_new2(), rb_undef_alloc_func(), rb_zlib_adler32(), rb_zlib_adler32_combine, rb_zlib_crc32(), rb_zlib_crc32_combine, rb_zlib_crc_table(), rb_zlib_version(), rb_zstream_adler(), rb_zstream_avail_in(), rb_zstream_avail_out(), rb_zstream_closed_p(), rb_zstream_data_type(), rb_zstream_end(), rb_zstream_finish(), rb_zstream_finished_p(), rb_zstream_flush_next_in(), rb_zstream_flush_next_out(), rb_zstream_reset(), rb_zstream_set_avail_out(), rb_zstream_total_in(), rb_zstream_total_out(), and RUBY_ZLIB_VERSION.

static VALUE new_wrap ( VALUE  tmp) [static]
static NORETURN ( void   raise_zlib_errorint, const char *) [static]
NORETURN ( static void   gzfile_raisestruct gzfile *, VALUE, const char *)
static void raise_zlib_error ( int  err,
const char *  msg 
) [static]
static VALUE rb_deflate_addstr ( VALUE  obj,
VALUE  src 
) [static]

Definition at line 1690 of file zlib.c.

References do_deflate(), get_zstream(), and OBJ_INFECT.

Referenced by Init_zlib().

static VALUE rb_deflate_deflate ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 1668 of file zlib.c.

References ARG_FLUSH, do_deflate(), get_zstream(), OBJ_INFECT, rb_scan_args(), and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_deflate_flush ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 1713 of file zlib.c.

References FIXNUMARG, get_zstream(), rb_scan_args(), zstream_detach_buffer(), and zstream_run().

Referenced by Init_zlib().

static VALUE rb_deflate_init_copy ( VALUE  self,
VALUE  orig 
) [static]
static VALUE rb_deflate_initialize ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE rb_deflate_params ( VALUE  obj,
VALUE  v_level,
VALUE  v_strategy 
) [static]
static VALUE rb_deflate_s_allocate ( VALUE  klass) [static]

Definition at line 1446 of file zlib.c.

References zstream_deflate_new.

Referenced by Init_zlib().

static VALUE rb_deflate_s_deflate ( int  argc,
VALUE argv,
VALUE  klass 
) [static]
static VALUE rb_deflate_set_dictionary ( VALUE  obj,
VALUE  dic 
) [static]

Definition at line 1783 of file zlib.c.

References err, get_zstream(), OBJ_INFECT, raise_zlib_error(), RSTRING_LENINT, RSTRING_PTR, zstream::stream, and StringValue.

Referenced by Init_zlib().

static VALUE rb_gzfile_close ( VALUE  obj) [static]

Definition at line 3257 of file zlib.c.

References get_gzfile(), gzfile_close(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_closed_p ( VALUE  obj) [static]

Definition at line 3292 of file zlib.c.

References Data_Get_Struct, gzfile::io, NIL_P, Qfalse, and Qtrue.

Referenced by Init_zlib().

static VALUE rb_gzfile_comment ( VALUE  obj) [static]

Definition at line 3142 of file zlib.c.

References gzfile::comment, get_gzfile(), NIL_P, OBJ_TAINT, and rb_str_dup().

Referenced by Init_zlib().

static VALUE rb_gzfile_crc ( VALUE  obj) [static]

Definition at line 3080 of file zlib.c.

References gzfile::crc, get_gzfile(), and rb_uint2inum().

Referenced by Init_zlib().

static void rb_gzfile_ecopts ( struct gzfile gz,
VALUE  opts 
) [static]
static VALUE rb_gzfile_eof_p ( VALUE  obj) [static]

Definition at line 3305 of file zlib.c.

References get_gzfile(), GZFILE_IS_FINISHED, Qfalse, and Qtrue.

Referenced by Init_zlib().

static VALUE rb_gzfile_finish ( VALUE  obj) [static]

Definition at line 3275 of file zlib.c.

References get_gzfile(), gzfile_close(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_level ( VALUE  obj) [static]

Definition at line 3102 of file zlib.c.

References get_gzfile(), INT2FIX, and gzfile::level.

Referenced by Init_zlib().

static VALUE rb_gzfile_lineno ( VALUE  obj) [static]

Definition at line 3158 of file zlib.c.

References get_gzfile(), INT2NUM, and gzfile::lineno.

Referenced by Init_zlib().

static VALUE rb_gzfile_mtime ( VALUE  obj) [static]

Definition at line 3091 of file zlib.c.

References get_gzfile(), gzfile::mtime, and rb_time_new().

Referenced by Init_zlib().

static VALUE rb_gzfile_orig_name ( VALUE  obj) [static]

Definition at line 3125 of file zlib.c.

References get_gzfile(), NIL_P, OBJ_TAINT, gzfile::orig_name, and rb_str_dup().

Referenced by Init_zlib().

static VALUE rb_gzfile_os_code ( VALUE  obj) [static]

Definition at line 3113 of file zlib.c.

References get_gzfile(), INT2FIX, and gzfile::os_code.

Referenced by Init_zlib().

static VALUE rb_gzfile_path ( VALUE  obj) [static]

Definition at line 3378 of file zlib.c.

References Data_Get_Struct, and gzfile::path.

Referenced by rb_gzreader_initialize(), and rb_gzwriter_initialize().

static VALUE rb_gzfile_s_wrap ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 3039 of file zlib.c.

References gzfile_wrap().

Referenced by Init_zlib().

static VALUE rb_gzfile_set_comment ( VALUE  obj,
VALUE  str 
) [static]
static VALUE rb_gzfile_set_lineno ( VALUE  obj,
VALUE  lineno 
) [static]

Definition at line 3169 of file zlib.c.

References get_gzfile(), gzfile::lineno, and NUM2INT.

Referenced by Init_zlib().

static VALUE rb_gzfile_set_mtime ( VALUE  obj,
VALUE  mtime 
) [static]
static VALUE rb_gzfile_set_orig_name ( VALUE  obj,
VALUE  str 
) [static]
static VALUE rb_gzfile_set_sync ( VALUE  obj,
VALUE  mode 
) [static]

Definition at line 3333 of file zlib.c.

References zstream::flags, get_gzfile(), GZFILE_FLAG_SYNC, RTEST, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_sync ( VALUE  obj) [static]

Definition at line 3318 of file zlib.c.

References zstream::flags, get_gzfile(), GZFILE_FLAG_SYNC, Qfalse, Qtrue, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_to_io ( VALUE  obj) [static]

Definition at line 3069 of file zlib.c.

References get_gzfile(), and gzfile::io.

Referenced by Init_zlib().

static VALUE rb_gzfile_total_in ( VALUE  obj) [static]

Definition at line 3352 of file zlib.c.

References get_gzfile(), rb_uint2inum(), zstream::stream, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzfile_total_out ( VALUE  obj) [static]

Definition at line 3363 of file zlib.c.

References zstream::buf_filled, get_gzfile(), rb_uint2inum(), zstream::stream, and gzfile::z.

Referenced by Init_zlib().

static VALUE rb_gzreader_bytes ( VALUE  obj) [static]

Definition at line 3889 of file zlib.c.

References ID2SYM, rb_block_given_p(), rb_enumeratorize(), rb_gzreader_each_byte(), rb_intern, and rb_warn().

Referenced by Init_zlib().

static VALUE rb_gzreader_each ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 4153 of file zlib.c.

References gzreader_gets(), NIL_P, rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib(), and rb_gzreader_lines().

static VALUE rb_gzreader_each_byte ( VALUE  obj) [static]

Definition at line 3871 of file zlib.c.

References NIL_P, Qnil, rb_gzreader_getbyte(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib(), and rb_gzreader_bytes().

static VALUE rb_gzreader_each_char ( VALUE  obj) [static]

Definition at line 3853 of file zlib.c.

References NIL_P, Qnil, rb_gzreader_getc(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_zlib().

static VALUE rb_gzreader_getbyte ( VALUE  obj) [static]

Definition at line 3819 of file zlib.c.

References get_gzfile(), gzfile_read(), INT2FIX, NIL_P, and RSTRING_PTR.

Referenced by Init_zlib(), rb_gzreader_each_byte(), and rb_gzreader_readbyte().

static VALUE rb_gzreader_getc ( VALUE  obj) [static]

Definition at line 3790 of file zlib.c.

References get_gzfile(), and gzfile_getc().

Referenced by Init_zlib(), rb_gzreader_each_char(), and rb_gzreader_readchar().

static VALUE rb_gzreader_gets ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 4121 of file zlib.c.

References gzreader_gets(), NIL_P, and rb_lastline_set().

Referenced by Init_zlib(), and rb_gzreader_readline().

static VALUE rb_gzreader_initialize ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE rb_gzreader_lines ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 4171 of file zlib.c.

References ID2SYM, rb_block_given_p(), rb_enumeratorize(), rb_gzreader_each(), rb_intern, and rb_warn().

Referenced by Init_zlib().

static VALUE rb_gzreader_read ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 3736 of file zlib.c.

References get_gzfile(), gzfile_read(), gzfile_read_all(), NIL_P, NUM2INT, rb_eArgError, rb_raise(), and rb_scan_args().

Referenced by Init_zlib().

static VALUE rb_gzreader_readbyte ( VALUE  obj) [static]

Definition at line 3837 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_getbyte(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readchar ( VALUE  obj) [static]

Definition at line 3803 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_getc(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readline ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 4137 of file zlib.c.

References NIL_P, rb_eEOFError, rb_gzreader_gets(), and rb_raise().

Referenced by Init_zlib().

static VALUE rb_gzreader_readlines ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 4185 of file zlib.c.

References gzreader_gets(), NIL_P, rb_ary_new(), and rb_ary_push().

Referenced by Init_zlib().

static VALUE rb_gzreader_readpartial ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 3767 of file zlib.c.

References Check_Type, get_gzfile(), gzfile_readpartial(), NIL_P, NUM2INT, rb_eArgError, rb_raise(), rb_scan_args(), and T_STRING.

Referenced by Init_zlib().

static VALUE rb_gzreader_rewind ( VALUE  obj) [static]

Definition at line 3709 of file zlib.c.

References get_gzfile(), gzfile_reader_rewind(), and INT2FIX.

Referenced by Init_zlib().

static VALUE rb_gzreader_s_allocate ( VALUE  klass) [static]

Definition at line 3637 of file zlib.c.

References gzfile_reader_new.

Referenced by Init_zlib().

static VALUE rb_gzreader_s_open ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 3652 of file zlib.c.

References gzfile_s_open().

Referenced by Init_zlib().

static VALUE rb_gzreader_ungetbyte ( VALUE  obj,
VALUE  ch 
) [static]

Definition at line 3924 of file zlib.c.

References get_gzfile(), gzfile_ungetbyte(), NUM2CHR, and Qnil.

Referenced by Init_zlib(), and rb_gzreader_ungetc().

static VALUE rb_gzreader_ungetc ( VALUE  obj,
VALUE  s 
) [static]
static VALUE rb_gzreader_unused ( VALUE  obj) [static]

Definition at line 3723 of file zlib.c.

References Data_Get_Struct, and gzfile_reader_get_unused().

Referenced by Init_zlib().

static VALUE rb_gzwriter_flush ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE rb_gzwriter_initialize ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE rb_gzwriter_putc ( VALUE  obj,
VALUE  ch 
) [static]

Definition at line 3549 of file zlib.c.

References get_gzfile(), gzfile_write(), and NUM2CHR.

Referenced by Init_zlib().

static VALUE rb_gzwriter_s_allocate ( VALUE  klass) [static]

Definition at line 3435 of file zlib.c.

References gzfile_writer_new.

Referenced by Init_zlib().

static VALUE rb_gzwriter_s_open ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 3448 of file zlib.c.

References gzfile_s_open().

Referenced by Init_zlib().

static VALUE rb_gzwriter_write ( VALUE  obj,
VALUE  str 
) [static]
static VALUE rb_inflate_add_dictionary ( VALUE  obj,
VALUE  dictionary 
) [static]

Definition at line 1963 of file zlib.c.

References do_checksum(), id_dictionaries, rb_hash_aset(), and rb_ivar_get().

Referenced by Init_zlib().

static VALUE rb_inflate_addstr ( VALUE  obj,
VALUE  src 
) [static]
static VALUE rb_inflate_inflate ( VALUE  obj,
VALUE  src 
) [static]
static VALUE rb_inflate_initialize ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 1865 of file zlib.c.

References ARG_WBITS, Data_Get_Struct, err, raise_zlib_error(), rb_scan_args(), zstream::stream, and ZSTREAM_READY.

Referenced by Init_zlib().

static VALUE rb_inflate_s_allocate ( VALUE  klass) [static]

Definition at line 1812 of file zlib.c.

References id_dictionaries, rb_hash_new(), rb_ivar_set(), and zstream_inflate_new.

Referenced by Init_zlib().

static VALUE rb_inflate_s_inflate ( VALUE  obj,
VALUE  src 
) [static]
static VALUE rb_inflate_set_dictionary ( VALUE  obj,
VALUE  dic 
) [static]
static VALUE rb_inflate_sync ( VALUE  obj,
VALUE  src 
) [static]

Definition at line 2078 of file zlib.c.

References get_zstream(), OBJ_INFECT, RSTRING_LEN, RSTRING_PTR, StringValue, and zstream_sync().

Referenced by Init_zlib().

static VALUE rb_inflate_sync_point_p ( VALUE  obj) [static]

Definition at line 2095 of file zlib.c.

References err, get_zstream(), Qfalse, Qtrue, raise_zlib_error(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zlib_adler32 ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 438 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc32 ( int  argc,
VALUE argv,
VALUE  klass 
) [static]

Definition at line 476 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc_table ( VALUE  obj) [static]

Definition at line 508 of file zlib.c.

References rb_ary_new2(), rb_ary_push(), and rb_uint2inum().

Referenced by Init_zlib().

static VALUE rb_zlib_version ( VALUE  klass) [static]

Definition at line 368 of file zlib.c.

References OBJ_TAINT, and rb_str_new2().

Referenced by Init_zlib().

static VALUE rb_zstream_adler ( VALUE  obj) [static]

Definition at line 1399 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_avail_in ( VALUE  obj) [static]

Definition at line 1359 of file zlib.c.

References Data_Get_Struct, zstream::input, INT2FIX, NIL_P, and RSTRING_LEN.

Referenced by Init_zlib().

static VALUE rb_zstream_avail_out ( VALUE  obj) [static]

Definition at line 1332 of file zlib.c.

References Data_Get_Struct, rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_closed_p ( VALUE  obj) [static]

Definition at line 1417 of file zlib.c.

References Data_Get_Struct, Qfalse, Qtrue, and ZSTREAM_IS_READY.

Referenced by Init_zlib().

static VALUE rb_zstream_data_type ( VALUE  obj) [static]

Definition at line 1390 of file zlib.c.

References get_zstream(), INT2FIX, and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_end ( VALUE  obj) [static]

Definition at line 1257 of file zlib.c.

References get_zstream(), Qnil, and zstream_end().

Referenced by Init_zlib().

static VALUE rb_zstream_finish ( VALUE  obj) [static]

Definition at line 1284 of file zlib.c.

References get_zstream(), zstream_detach_buffer(), and zstream_run().

Referenced by Init_zlib().

static VALUE rb_zstream_finished_p ( VALUE  obj) [static]

Definition at line 1408 of file zlib.c.

References get_zstream(), Qfalse, Qtrue, and ZSTREAM_IS_FINISHED.

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_in ( VALUE  obj) [static]

Definition at line 1303 of file zlib.c.

References Data_Get_Struct, OBJ_INFECT, and zstream_detach_input().

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_out ( VALUE  obj) [static]

Definition at line 1318 of file zlib.c.

References Data_Get_Struct, and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_zstream_reset ( VALUE  obj) [static]

Definition at line 1268 of file zlib.c.

References get_zstream(), Qnil, and zstream_reset().

Referenced by Init_zlib().

static VALUE rb_zstream_set_avail_out ( VALUE  obj,
VALUE  size 
) [static]

Definition at line 1346 of file zlib.c.

References Check_Type, FIX2INT, get_zstream(), size, T_FIXNUM, and zstream_expand_buffer_into().

Referenced by Init_zlib().

static VALUE rb_zstream_total_in ( VALUE  obj) [static]

Definition at line 1370 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static VALUE rb_zstream_total_out ( VALUE  obj) [static]

Definition at line 1379 of file zlib.c.

References get_zstream(), rb_uint2inum(), and zstream::stream.

Referenced by Init_zlib().

static void rscheck ( const char *  rsptr,
long  rslen,
VALUE  rs 
) [static]

Definition at line 3963 of file zlib.c.

References rb_eRuntimeError, rb_raise(), RSTRING_LEN, and RSTRING_PTR.

Referenced by gzreader_gets().

static voidpf zlib_mem_alloc ( voidpf  opaque,
uInt  items,
uInt  size 
) [static]

Definition at line 583 of file zlib.c.

References VALGRIND_MAKE_MEM_DEFINED, and xmalloc.

Referenced by zstream_init().

static void zlib_mem_free ( voidpf  opaque,
voidpf  address 
) [static]

Definition at line 595 of file zlib.c.

References xfree().

Referenced by zstream_init().

static void zstream_append_buffer ( struct zstream z,
const Bytef *  src,
long  len 
) [static]
static void zstream_append_input ( struct zstream z,
const Bytef *  src,
long  len 
) [static]

Definition at line 861 of file zlib.c.

References zstream::input, NIL_P, rb_str_buf_cat(), rb_str_buf_new(), and RBASIC.

Referenced by zstream_run(), and zstream_sync().

static void zstream_buffer_ungetbyte ( struct zstream z,
int  c 
) [static]
static void zstream_buffer_ungets ( struct zstream z,
const Bytef *  b,
unsigned long  len 
) [static]
static VALUE zstream_detach_buffer ( struct zstream z) [static]
static VALUE zstream_detach_input ( struct zstream z) [static]

Definition at line 908 of file zlib.c.

References zstream::input, NIL_P, Qnil, rb_cString, rb_str_new(), and RBASIC.

Referenced by rb_zstream_flush_next_in().

static void zstream_discard_input ( struct zstream z,
long  len 
) [static]
static VALUE zstream_end ( struct zstream z) [static]
static void zstream_expand_buffer ( struct zstream z) [static]
static void zstream_expand_buffer_into ( struct zstream z,
unsigned long  size 
) [static]
static void* zstream_expand_buffer_protect ( void *  ptr) [static]

Definition at line 690 of file zlib.c.

References rb_protect(), and zstream_expand_buffer().

Referenced by zstream_run_func().

static int zstream_expand_buffer_without_gvl ( struct zstream z) [static]
static void zstream_finalize ( struct zstream z) [static]

Definition at line 1142 of file zlib.c.

References zstream::zstream_funcs::end, err, finalizer_warn(), zstream::func, and zstream::stream.

Referenced by gzfile_free(), and zstream_free().

static void zstream_free ( struct zstream z) [static]

Definition at line 1152 of file zlib.c.

References xfree(), zstream_finalize(), and ZSTREAM_IS_READY.

Referenced by zstream_new().

static void zstream_init ( struct zstream z,
const struct zstream_funcs *  func 
) [static]
static void zstream_mark ( struct zstream z) [static]

Definition at line 1135 of file zlib.c.

References zstream::buf, zstream::input, and rb_gc_mark().

Referenced by gzfile_mark(), and zstream_new().

static VALUE zstream_new ( VALUE  klass,
const struct zstream_funcs *  funcs 
) [static]

Definition at line 1161 of file zlib.c.

References Data_Make_Struct, zstream::stream, zstream_free(), zstream_init(), and zstream_mark().

static void zstream_passthrough_input ( struct zstream z) [static]

Definition at line 899 of file zlib.c.

References zstream::input, NIL_P, Qnil, and zstream_append_buffer2.

Referenced by rb_inflate_addstr(), and rb_inflate_inflate().

static void zstream_reset ( struct zstream z) [static]
static void zstream_reset_input ( struct zstream z) [static]

Definition at line 893 of file zlib.c.

References zstream::input, and Qnil.

Referenced by zstream_end(), zstream_reset(), zstream_run(), and zstream_sync().

static void zstream_run ( struct zstream z,
Bytef *  src,
long  len,
int  flush 
) [static]
static void* zstream_run_func ( void *  ptr) [static]
static VALUE zstream_shift_buffer ( struct zstream z,
long  len 
) [static]
static VALUE zstream_sync ( struct zstream z,
Bytef *  src,
long  len 
) [static]
static void zstream_unblock_func ( void *  ptr) [static]

Definition at line 1021 of file zlib.c.

References args, and zstream_run_args::interrupt.

Referenced by zstream_run().


Variable Documentation

VALUE cBufError [static]

Definition at line 303 of file zlib.c.

VALUE cCRCError [static]

Definition at line 2182 of file zlib.c.

VALUE cDataError [static]

Definition at line 303 of file zlib.c.

VALUE cGzError [static]

Definition at line 2182 of file zlib.c.

VALUE cLengthError [static]

Definition at line 2182 of file zlib.c.

VALUE cMemError [static]

Definition at line 303 of file zlib.c.

VALUE cNeedDict [static]

Definition at line 302 of file zlib.c.

VALUE cNoFooter [static]

Definition at line 2182 of file zlib.c.

VALUE cStreamEnd [static]

Definition at line 302 of file zlib.c.

VALUE cStreamError [static]

Definition at line 303 of file zlib.c.

VALUE cVersionError [static]

Definition at line 303 of file zlib.c.

VALUE cZError [static]

Definition at line 302 of file zlib.c.

struct zstream_funcs deflate_funcs [static]
Initial value:
 {
    deflateReset, deflateEnd, deflate,
}

Definition at line 566 of file zlib.c.

ID id_close [static]

Definition at line 2181 of file zlib.c.

ID id_dictionaries [static]

Definition at line 60 of file zlib.c.

Referenced by Init_zlib(), rb_inflate_add_dictionary(), rb_inflate_s_allocate(), and zstream_run().

ID id_flush [static]

Definition at line 2181 of file zlib.c.

ID id_input [static]

Definition at line 2181 of file zlib.c.

ID id_path [static]

Definition at line 2181 of file zlib.c.

ID id_read [static]

Definition at line 2181 of file zlib.c.

ID id_readpartial [static]

Definition at line 2181 of file zlib.c.

ID id_seek [static]

Definition at line 2181 of file zlib.c.

ID id_write [static]

Definition at line 2181 of file zlib.c.

struct zstream_funcs inflate_funcs [static]
Initial value:
 {
    inflateReset, inflateEnd, inflate,
}

Definition at line 570 of file zlib.c.