ext/zlib/zlib.c File Reference

#include <ruby.h>
#include <zlib.h>
#include <time.h>
#include <ruby/encoding.h>

Include dependency graph for zlib.c:

Go to the source code of this file.

Data Structures

struct  zstream
struct  zstream::zstream_funcs
struct  gzfile

Defines

#define VALGRIND_MAKE_MEM_DEFINED(p, n)
#define VALGRIND_MAKE_MEM_UNDEFINED(p, n)
#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 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_UNUSED   0x10
#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_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 int)
static void zstream_append_buffer (struct zstream *, const Bytef *, int)
static VALUE zstream_detach_buffer (struct zstream *)
static VALUE zstream_shift_buffer (struct zstream *, int)
static void zstream_buffer_ungets (struct zstream *, const Bytef *, int)
static void zstream_buffer_ungetbyte (struct zstream *, int)
static void zstream_append_input (struct zstream *, const Bytef *, unsigned int)
static void zstream_discard_input (struct zstream *, unsigned int)
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 *, uInt, int)
static VALUE zstream_sync (struct zstream *, Bytef *, uInt)
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 *, int)
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 *, uInt)
static long gzfile_read_more (struct gzfile *)
static void gzfile_calc_crc (struct gzfile *, VALUE)
static VALUE gzfile_read (struct gzfile *, int)
static VALUE gzfile_read_all (struct gzfile *)
static void gzfile_ungets (struct gzfile *, const Bytef *, int)
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 *)
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)
int rb_io_extract_encoding_option (VALUE opt, rb_encoding **enc_p, rb_encoding **enc2_p)
VALUE rb_str_conv_enc_opts (VALUE, rb_encoding *, rb_encoding *, int, VALUE)
static void raise_zlib_error (int err, const char *msg)
static VALUE do_checksum (int argc, VALUE *argv, uLong *func)
static VALUE gzfile_new (VALUE klass, const struct zstream_funcs *funcs, void(*endfunc)(struct gzfile *))
static VALUE gzfile_newstr (struct gzfile *gz, VALUE str)
static VALUE gzfile_readpartial (struct gzfile *gz, int len, VALUE outbuf)
static VALUE gzfile_getc (struct gzfile *gz)
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 void rscheck (const char *rsptr, long rslen, VALUE rs)

Variables

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 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 1157 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 1155 of file zlib.c.

Referenced by rb_deflate_initialize().

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

Definition at line 1156 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 1154 of file zlib.c.

Referenced by rb_deflate_initialize(), and rb_inflate_initialize().

#define DEF_MEM_LEVEL   MAX_MEM_LEVEL

Definition at line 41 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 1149 of file zlib.c.

Referenced by rb_deflate_flush(), and rb_gzwriter_flush().

#define GZ_EXTRAFLAG_FAST   0x4

Definition at line 1694 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_EXTRAFLAG_SLOW   0x2

Definition at line 1695 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_COMMENT   0x10

Definition at line 1690 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_ENCRYPT   0x20

Definition at line 1691 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_EXTRA   0x4

Definition at line 1688 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_MULTIPART   0x2

Definition at line 1687 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_ORIG_NAME   0x8

Definition at line 1689 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_UNKNOWN_MASK   0xc0

Definition at line 1692 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_MAGIC1   0x1f

Definition at line 1684 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_MAGIC2   0x8b

Definition at line 1685 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_METHOD_DEFLATE   8

Definition at line 1686 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZFILE_CBUF_CAPA   10

Definition at line 1746 of file zlib.c.

Referenced by gzfile_getc().

#define GZFILE_FLAG_FOOTER_FINISHED   (ZSTREAM_FLAG_UNUSED << 2)

#define GZFILE_FLAG_HEADER_FINISHED   (ZSTREAM_FLAG_UNUSED << 1)

#define GZFILE_FLAG_SYNC   ZSTREAM_FLAG_UNUSED

Definition at line 1748 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 1755 of file zlib.c.

Referenced by gzfile_read_raw_partial(), and gzfile_read_raw_rescue().

#define gzfile_reader_new ( gz   )     gzfile_new((gz),&inflate_funcs,gzfile_reader_end)

Definition at line 1819 of file zlib.c.

Referenced by rb_gzreader_s_allocate().

#define gzfile_writer_new ( gz   )     gzfile_new((gz),&deflate_funcs,gzfile_writer_end)

Definition at line 1818 of file zlib.c.

Referenced by rb_gzwriter_s_allocate().

#define GZIP_SUPPORT   1

Definition at line 33 of file zlib.c.

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

Definition at line 30 of file zlib.c.

#define OS_AMIGA   0x01

Definition at line 1699 of file zlib.c.

Referenced by Init_zlib().

#define OS_ATARI   0x05

Definition at line 1702 of file zlib.c.

Referenced by Init_zlib().

#define OS_CODE   OS_UNIX

Definition at line 1716 of file zlib.c.

Referenced by gzfile_new(), and Init_zlib().

#define OS_CPM   0x09

Definition at line 1710 of file zlib.c.

Referenced by Init_zlib().

#define OS_MACOS   0x07

Definition at line 1704 of file zlib.c.

Referenced by Init_zlib().

#define OS_MSDOS   0x00

Definition at line 1698 of file zlib.c.

Referenced by Init_zlib().

#define OS_OS2   0x06

Definition at line 1703 of file zlib.c.

Referenced by Init_zlib().

#define OS_QDOS   0x0c

Definition at line 1711 of file zlib.c.

Referenced by Init_zlib().

#define OS_RISCOS   0x0d

Definition at line 1712 of file zlib.c.

Referenced by Init_zlib().

#define OS_TOPS20   0x0a

Definition at line 1705 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNIX   0x03

Definition at line 1701 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNKNOWN   0xff

Definition at line 1713 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMCMS   0x04

Definition at line 1708 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMS   0x02

Definition at line 1700 of file zlib.c.

Referenced by Init_zlib().

#define OS_WIN32   0x0b

Definition at line 1706 of file zlib.c.

Referenced by Init_zlib().

#define OS_ZSYSTEM   0x08

Definition at line 1709 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_addstr   rb_io_addstr

Definition at line 2933 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_print   rb_io_print

Definition at line 2943 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_printf   rb_io_printf

Definition at line 2938 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_puts   rb_io_puts

Definition at line 2948 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_adler32_combine   rb_f_notimplement

Definition at line 350 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_crc32_combine   rb_f_notimplement

Definition at line 384 of file zlib.c.

Referenced by Init_zlib().

#define RUBY_ZLIB_VERSION   "0.6.0"

Definition at line 27 of file zlib.c.

Referenced by Init_zlib().

#define VALGRIND_MAKE_MEM_DEFINED ( p,
 ) 

Definition at line 23 of file zlib.c.

Referenced by mark_locations_array(), and zlib_mem_alloc().

#define VALGRIND_MAKE_MEM_UNDEFINED ( p,
 ) 

Definition at line 24 of file zlib.c.

Referenced by add_freelist().

#define zstream_append_buffer2 ( z,
 )     zstream_append_buffer((z),(Bytef*)RSTRING_PTR(v),RSTRING_LEN(v))

#define zstream_append_input2 ( z,
 ) 

Value:

Definition at line 663 of file zlib.c.

Referenced by gzfile_read_raw_ensure(), and gzfile_read_raw_until_zero().

#define ZSTREAM_AVAIL_OUT_STEP_MAX   16384

Definition at line 437 of file zlib.c.

Referenced by zstream_expand_buffer(), and zstream_shift_buffer().

#define ZSTREAM_AVAIL_OUT_STEP_MIN   2048

Definition at line 438 of file zlib.c.

Referenced by zstream_expand_buffer().

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

Definition at line 894 of file zlib.c.

Referenced by rb_deflate_s_allocate().

#define ZSTREAM_FLAG_CLOSING   0x8

Definition at line 426 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_FLAG_FINISHED   0x4

Definition at line 425 of file zlib.c.

Referenced by zstream_run().

#define ZSTREAM_FLAG_IN_STREAM   0x2

Definition at line 424 of file zlib.c.

Referenced by zstream_end(), and zstream_run().

#define ZSTREAM_FLAG_READY   0x1

Definition at line 423 of file zlib.c.

Referenced by zstream_reset().

#define ZSTREAM_FLAG_UNUSED   0x10

Definition at line 427 of file zlib.c.

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

Definition at line 895 of file zlib.c.

Referenced by rb_inflate_s_allocate().

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

Definition at line 485 of file zlib.c.

Referenced by rb_deflate_s_deflate().

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

Definition at line 486 of file zlib.c.

Referenced by rb_inflate_s_inflate().

#define ZSTREAM_INITIAL_BUFSIZE   1024

Definition at line 436 of file zlib.c.

Referenced by zstream_expand_buffer().

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

Definition at line 432 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

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

#define ZSTREAM_IS_READY (  )     ((z)->flags & ZSTREAM_FLAG_READY)

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


Function Documentation

static VALUE deflate_run ( VALUE  args  )  [static]

Definition at line 1221 of file zlib.c.

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

Referenced by rb_deflate_s_deflate().

static VALUE do_checksum ( int  argc,
VALUE argv,
uLong *  func 
) [static]

Definition at line 289 of file zlib.c.

References func, NIL_P, NUM2ULONG, rb_scan_args(), rb_uint2inum(), RSTRING_LEN, RSTRING_PTR, and StringValue.

static VALUE do_checksum ( int  ,
VALUE ,
uLong(*)(uLong, const Bytef *, uInt)   
) [static]

Referenced by rb_zlib_adler32(), and rb_zlib_crc32().

static void do_deflate ( struct zstream z,
VALUE  src,
int  flush 
) [static]

Definition at line 1277 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 1522 of file zlib.c.

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

Referenced by rb_inflate_addstr(), and rb_inflate_inflate().

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

Definition at line 267 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 2435 of file zlib.c.

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

Referenced by rb_gzfile_s_wrap().

static void gzfile_free ( struct gzfile gz  )  [static]

Definition at line 1770 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 1931 of file zlib.c.

Referenced by gzfile_read_header().

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

Definition at line 1940 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  klass,
const struct zstream_funcs *  funcs,
void (*)(struct gzfile *)  endfunc 
) [static]

static VALUE gzfile_new ( VALUE  ,
const struct zstream_funcs *  ,
void(*) _((struct gzfile *))   
) [static]

static VALUE gzfile_newstr ( struct gzfile gz,
VALUE  str 
) [static]

static VALUE gzfile_read ( struct gzfile gz,
int  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,
int  size 
) [static]

static VALUE gzfile_read_raw_partial ( VALUE  arg  )  [static]

Definition at line 1865 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,
int  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]

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

Definition at line 1951 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 2324 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,
int  len 
) [static]

Definition at line 2317 of file zlib.c.

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

Referenced by rb_gzreader_ungetc().

static void gzfile_write ( struct gzfile gz,
Bytef *  str,
uInt  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 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 1471 of file zlib.c.

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

Referenced by rb_inflate_s_inflate().

void Init_zlib ( void   ) 

Definition at line 3520 of file zlib.c.

References DEF_MEM_LEVEL, 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_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_each(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_gzreader_getbyte(), rb_gzreader_getc(), rb_gzreader_gets(), rb_gzreader_initialize(), 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_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 NORETURN ( void   raise_zlib_errorint, const char *  )  [static]

static void raise_zlib_error ( int  err,
const char *  msg 
) [static]

static VALUE rb_deflate_addstr ( VALUE  obj,
VALUE  src 
) [static]

Definition at line 1326 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 1304 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 1343 of file zlib.c.

References FIXNUMARG, get_zstream(), OBJ_INFECT, 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 1161 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 1407 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_close ( VALUE  obj  )  [static]

Definition at line 2653 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 2683 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 2551 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 2499 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 2694 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 2669 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 2517 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 2565 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 2508 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_orig_name ( VALUE  obj  )  [static]

Definition at line 2536 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 2526 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 2758 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]

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 2574 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 2717 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 2704 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 2490 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 2734 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 2743 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_each ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 3410 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzreader_each_byte ( VALUE  obj  )  [static]

Definition at line 3218 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzreader_each_char ( VALUE  obj  )  [static]

Definition at line 3202 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 3172 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 3147 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 3382 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_read ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 3097 of file zlib.c.

References get_gzfile(), gzfile_read(), gzfile_read_all(), len, 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 3188 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 3158 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 3396 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 3426 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 3126 of file zlib.c.

References Check_Type, get_gzfile(), gzfile_readpartial(), len, 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 3074 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 3009 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 3022 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 3253 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 3086 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 2918 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 2809 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 2822 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_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 1452 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 1438 of file zlib.c.

References 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]

Definition at line 1656 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_inflate_sync ( VALUE  obj,
VALUE  src 
) [static]

Definition at line 1617 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 1634 of file zlib.c.

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

Referenced by Init_zlib().

int rb_io_extract_encoding_option ( VALUE  opt,
rb_encoding **  enc_p,
rb_encoding **  enc2_p 
)

VALUE rb_str_conv_enc_opts ( VALUE  ,
rb_encoding ,
rb_encoding ,
int  ,
VALUE   
)

Referenced by gzfile_newstr(), and rb_str_conv_enc().

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

Definition at line 329 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 363 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc_table ( VALUE  obj  )  [static]

Definition at line 391 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 279 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 1114 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 1074 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 1047 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 1132 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 1105 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 978 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 1000 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_finished_p ( VALUE  obj  )  [static]

Definition at line 1123 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 1016 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 1031 of file zlib.c.

References Data_Get_Struct, OBJ_INFECT, and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_zstream_reset ( VALUE  obj  )  [static]

Definition at line 989 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 1061 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_total_in ( VALUE  obj  )  [static]

Definition at line 1085 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 1094 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 3292 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 450 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 462 of file zlib.c.

References xfree.

Referenced by zstream_init().

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

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

Definition at line 649 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,
int  len 
) [static]

static VALUE zstream_detach_buffer ( struct zstream z  )  [static]

static VALUE zstream_detach_input ( struct zstream z  )  [static]

Definition at line 696 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,
unsigned int  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 int  size 
) [static]

static void zstream_finalize ( struct zstream z  )  [static]

Definition at line 864 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 874 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 857 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 883 of file zlib.c.

References Data_Make_Struct, zstream_free(), zstream_init(), and zstream_mark().

static void zstream_passthrough_input ( struct zstream z  )  [static]

Definition at line 687 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 681 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,
uInt  len,
int  flush 
) [static]

static VALUE zstream_shift_buffer ( struct zstream z,
int  len 
) [static]

static VALUE zstream_sync ( struct zstream z,
Bytef *  src,
uInt  len 
) [static]


Variable Documentation

VALUE cBufError [static]

Definition at line 216 of file zlib.c.

VALUE cCRCError [static]

Definition at line 1720 of file zlib.c.

VALUE cDataError [static]

Definition at line 216 of file zlib.c.

VALUE cGzError [static]

Definition at line 1720 of file zlib.c.

VALUE cLengthError [static]

Definition at line 1720 of file zlib.c.

VALUE cMemError [static]

Definition at line 216 of file zlib.c.

VALUE cNeedDict [static]

Definition at line 215 of file zlib.c.

VALUE cNoFooter [static]

Definition at line 1720 of file zlib.c.

VALUE cStreamEnd [static]

Definition at line 215 of file zlib.c.

VALUE cStreamError [static]

Definition at line 216 of file zlib.c.

VALUE cVersionError [static]

Definition at line 216 of file zlib.c.

VALUE cZError [static]

Definition at line 215 of file zlib.c.

struct zstream_funcs deflate_funcs [static]

Initial value:

 {
    deflateReset, deflateEnd, deflate,
}

Definition at line 440 of file zlib.c.

ID id_close [static]

Definition at line 1719 of file zlib.c.

ID id_flush [static]

Definition at line 1719 of file zlib.c.

ID id_path [static]

Definition at line 1719 of file zlib.c.

ID id_read [static]

Definition at line 1719 of file zlib.c.

ID id_readpartial [static]

Definition at line 1719 of file zlib.c.

ID id_seek [static]

Definition at line 1719 of file zlib.c.

ID id_write [static]

Definition at line 1719 of file zlib.c.

struct zstream_funcs inflate_funcs [static]

Initial value:

 {
    inflateReset, inflateEnd, inflate,
}

Definition at line 444 of file zlib.c.


doxygen