Ruby  1.9.3p551(2014-11-13revision48407)
Data Structures | Macros | Functions | Variables
zlib.c File Reference
#include <ruby.h>
#include <zlib.h>
#include <time.h>
#include <ruby/io.h>

Go to the source code of this file.

Data Structures

struct  zstream
 
struct  zstream::zstream_funcs
 
struct  gzfile
 
struct  new_wrap_arg_t
 

Macros

#define VALGRIND_MAKE_MEM_DEFINED(p, n)   /* empty */
 
#define VALGRIND_MAKE_MEM_UNDEFINED(p, n)   /* empty */
 
#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_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 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 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 void rscheck (const char *rsptr, long rslen, VALUE rs)
 
static long gzreader_charboundary (struct gzfile *gz, long n)
 

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 ID id_input
 
static VALUE cGzError
 
static VALUE cNoFooter
 
static VALUE cCRCError
 
static VALUE cLengthError
 

Macro Definition Documentation

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

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

Referenced by rb_deflate_initialize().

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

Definition at line 1234 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 1232 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 346 of file zlib.c.

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

#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 1227 of file zlib.c.

Referenced by rb_deflate_flush(), and rb_gzwriter_flush().

#define GZ_EXTRAFLAG_FAST   0x4

Definition at line 1921 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_EXTRAFLAG_SLOW   0x2

Definition at line 1922 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_COMMENT   0x10

Definition at line 1917 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_ENCRYPT   0x20

Definition at line 1918 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_EXTRA   0x4

Definition at line 1915 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_MULTIPART   0x2

Definition at line 1914 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_ORIG_NAME   0x8

Definition at line 1916 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_UNKNOWN_MASK   0xc0

Definition at line 1919 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_MAGIC1   0x1f

Definition at line 1911 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_MAGIC2   0x8b

Definition at line 1912 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_METHOD_DEFLATE   8

Definition at line 1913 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZFILE_CBUF_CAPA   10

Definition at line 1973 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 1975 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 1982 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 2046 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 2045 of file zlib.c.

Referenced by rb_gzwriter_s_allocate().

#define GZIP_SUPPORT   1

Definition at line 33 of file zlib.c.

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

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

#define OS_AMIGA   0x01

Definition at line 1926 of file zlib.c.

Referenced by Init_zlib().

#define OS_ATARI   0x05

Definition at line 1929 of file zlib.c.

Referenced by Init_zlib().

#define OS_CODE   OS_UNIX

Definition at line 1943 of file zlib.c.

Referenced by gzfile_new(), and Init_zlib().

#define OS_CPM   0x09

Definition at line 1937 of file zlib.c.

Referenced by Init_zlib().

#define OS_MACOS   0x07

Definition at line 1931 of file zlib.c.

Referenced by Init_zlib().

#define OS_MSDOS   0x00

Definition at line 1925 of file zlib.c.

Referenced by Init_zlib().

#define OS_OS2   0x06

Definition at line 1930 of file zlib.c.

Referenced by Init_zlib().

#define OS_QDOS   0x0c

Definition at line 1938 of file zlib.c.

Referenced by Init_zlib().

#define OS_RISCOS   0x0d

Definition at line 1939 of file zlib.c.

Referenced by Init_zlib().

#define OS_TOPS20   0x0a

Definition at line 1932 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNIX   0x03

Definition at line 1928 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNKNOWN   0xff

Definition at line 1940 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMCMS   0x04

Definition at line 1935 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMS   0x02

Definition at line 1927 of file zlib.c.

Referenced by Init_zlib().

#define OS_WIN32   0x0b

Definition at line 1933 of file zlib.c.

Referenced by Init_zlib().

#define OS_ZSYSTEM   0x08

Definition at line 1936 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_addstr   rb_io_addstr

Definition at line 3319 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_print   rb_io_print

Definition at line 3329 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_printf   rb_io_printf

Definition at line 3324 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_puts   rb_io_puts

Definition at line 3334 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_adler32_combine   rb_f_notimplement

Definition at line 415 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_crc32_combine   rb_f_notimplement

Definition at line 453 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 sizeof (   x)    ((int)sizeof(x))

Definition at line 57 of file zlib.c.

#define VALGRIND_MAKE_MEM_DEFINED (   p,
 
)    /* empty */

Definition at line 23 of file zlib.c.

Referenced by zlib_mem_alloc().

#define VALGRIND_MAKE_MEM_UNDEFINED (   p,
 
)    /* empty */

Definition at line 24 of file zlib.c.

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

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

Referenced by zstream_expand_buffer(), and zstream_shift_buffer().

#define ZSTREAM_AVAIL_OUT_STEP_MIN   2048

Definition at line 513 of file zlib.c.

Referenced by zstream_expand_buffer().

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

Definition at line 972 of file zlib.c.

Referenced by rb_deflate_s_allocate().

#define ZSTREAM_FLAG_CLOSING   0x8

Definition at line 501 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_FLAG_FINISHED   0x4

Definition at line 500 of file zlib.c.

Referenced by zstream_run().

#define ZSTREAM_FLAG_IN_STREAM   0x2

Definition at line 499 of file zlib.c.

Referenced by zstream_end(), and zstream_run().

#define ZSTREAM_FLAG_READY   0x1

Definition at line 498 of file zlib.c.

Referenced by zstream_reset().

#define ZSTREAM_FLAG_UNUSED   0x10

Definition at line 502 of file zlib.c.

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

Definition at line 973 of file zlib.c.

Referenced by rb_inflate_s_allocate().

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

Definition at line 560 of file zlib.c.

Referenced by rb_deflate_s_deflate().

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

Definition at line 561 of file zlib.c.

Referenced by rb_inflate_s_inflate().

#define ZSTREAM_INITIAL_BUFSIZE   1024

Definition at line 511 of file zlib.c.

Referenced by zstream_expand_buffer().

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

Definition at line 507 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_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 1351 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

Referenced by rb_zlib_adler32(), and rb_zlib_crc32().

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 1410 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 1730 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 308 of file zlib.c.

Referenced by gzfile_free(), and zstream_finalize().

static struct gzfile * get_gzfile ( VALUE  obj)
staticread
static struct zstream * get_zstream ( VALUE  obj)
staticread
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 2746 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 1997 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 2158 of file zlib.c.

Referenced by gzfile_read_header().

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

Definition at line 2167 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 2092 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 2810 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 2178 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 2595 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 2588 of file zlib.c.

References len, 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 1675 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 4001 of file zlib.c.

References DEF_MEM_LEVEL, gzfile_error_inspect(), 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_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 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 1480 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 1456 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 1500 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 1239 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 1579 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 3017 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 3052 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 2902 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 2840 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 3065 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 3035 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 2862 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 2918 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 2851 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 2885 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 2873 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 3138 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 2799 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 2929 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 3093 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 3078 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 2829 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 3112 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 3123 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 3887 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 3621 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 3603 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 3569 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 3540 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 3855 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 3486 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 3587 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 3553 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 3871 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 3905 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 3517 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 3459 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 3392 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 3407 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 3660 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 3473 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 3304 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 3195 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 3208 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 1656 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 1610 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 1883 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_inflate_sync ( VALUE  obj,
VALUE  src 
)
static

Definition at line 1843 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 1860 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 392 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 430 of file zlib.c.

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc_table ( VALUE  obj)
static

Definition at line 462 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zlib_version ( VALUE  klass)
static

Definition at line 322 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 1192 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 1152 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 1125 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 1210 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 1183 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 1056 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 1078 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 1201 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 1094 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 1109 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 1067 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 1139 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 1163 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 1172 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 3699 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 525 of file zlib.c.

References p, VALGRIND_MAKE_MEM_DEFINED, and xmalloc.

Referenced by zstream_init().

static void zlib_mem_free ( voidpf  opaque,
voidpf  address 
)
static

Definition at line 537 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 727 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 774 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_finalize ( struct zstream z)
static

Definition at line 942 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 952 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 935 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 961 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 765 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 759 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 VALUE zstream_shift_buffer ( struct zstream z,
long  len 
)
static
static VALUE zstream_sync ( struct zstream z,
Bytef *  src,
long  len 
)
static

Variable Documentation

VALUE cBufError
static

Definition at line 260 of file zlib.c.

VALUE cCRCError
static

Definition at line 1947 of file zlib.c.

VALUE cDataError
static

Definition at line 260 of file zlib.c.

VALUE cGzError
static

Definition at line 1947 of file zlib.c.

VALUE cLengthError
static

Definition at line 1947 of file zlib.c.

VALUE cMemError
static

Definition at line 260 of file zlib.c.

VALUE cNeedDict
static

Definition at line 259 of file zlib.c.

VALUE cNoFooter
static

Definition at line 1947 of file zlib.c.

VALUE cStreamEnd
static

Definition at line 259 of file zlib.c.

VALUE cStreamError
static

Definition at line 260 of file zlib.c.

VALUE cVersionError
static

Definition at line 260 of file zlib.c.

VALUE cZError
static

Definition at line 259 of file zlib.c.

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

Definition at line 515 of file zlib.c.

ID id_close
static

Definition at line 1946 of file zlib.c.

ID id_flush
static

Definition at line 1946 of file zlib.c.

ID id_input
static

Definition at line 1946 of file zlib.c.

ID id_path
static

Definition at line 1946 of file zlib.c.

ID id_read
static

Definition at line 1946 of file zlib.c.

ID id_readpartial
static

Definition at line 1946 of file zlib.c.

ID id_seek
static

Definition at line 1946 of file zlib.c.

ID id_write
static

Definition at line 1946 of file zlib.c.

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

Definition at line 519 of file zlib.c.