Ruby  2.0.0p594(2014-10-27revision48167)
Data Structures | Macros | Functions | Variables
zlib.c File Reference
#include <ruby.h>
#include <zlib.h>
#include <time.h>
#include <ruby/io.h>
#include <ruby/thread.h>

Go to the source code of this file.

Data Structures

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

Macros

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

Functions

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

Variables

static ID id_dictionaries
 
static VALUE cZError
 
static VALUE cStreamEnd
 
static VALUE cNeedDict
 
static VALUE cStreamError
 
static VALUE cDataError
 
static VALUE cMemError
 
static VALUE cBufError
 
static VALUE cVersionError
 
static VALUE int argc
 
VALUEargv
 
uLong(* func )(uLong, const Bytef *, uInt)
 
unsigned long sum
 
 else
 
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
 
static VALUE VALUE klass
 
struct zstream_funcs * funcs
 
void(* endfunc )(struct gzfile *)
 
struct gzfilegz
 
 obj = Data_Make_Struct(klass, struct gzfile, gzfile_mark, gzfile_free, gz)
 
gzflags = ZSTREAM_FLAG_GZFILE
 
gz io = Qnil
 
gz level = 0
 
gz mtime = 0
 
gz os_code = OS_CODE
 
gz orig_name = Qnil
 
gz comment = Qnil
 
gz crc = crc32(0, Z_NULL, 0)
 
gz lineno = 0
 
gz ungetc = 0
 
gz end = endfunc
 
gz enc = rb_default_external_encoding()
 
gz enc2 = 0
 
gz ec = NULL
 
gz ecflags = 0
 
gz ecopts = Qnil
 
gz cbuf = 0
 
gz path = Qnil
 

Macro Definition Documentation

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

Definition at line 1442 of file zlib.c.

Referenced by rb_deflate_deflate().

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

Definition at line 1440 of file zlib.c.

Referenced by rb_deflate_initialize().

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

Definition at line 1441 of file zlib.c.

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

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

Definition at line 1439 of file zlib.c.

Referenced by rb_deflate_initialize(), and rb_inflate_initialize().

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

Definition at line 389 of file zlib.c.

Referenced by gzfile_calc_crc(), and gzfile_write().

#define DEF_MEM_LEVEL   MAX_MEM_LEVEL

Definition at line 42 of file zlib.c.

Referenced by Init_zlib(), and rb_gzwriter_initialize().

#define FIXNUMARG (   val,
  ifnil 
)
Value:
(NIL_P((val)) ? (ifnil) \
: ((void)Check_Type((val), T_FIXNUM), FIX2INT((val))))
NIL_P(eventloop_thread)
Definition: tcltklib.c:4067
#define val
Definition: tcltklib.c:1948
#define Check_Type(v, t)
#define FIX2INT(x)
#define T_FIXNUM

Definition at line 1434 of file zlib.c.

Referenced by rb_deflate_flush(), and rb_gzwriter_flush().

#define GZ_EXTRAFLAG_FAST   0x4

Definition at line 2157 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_EXTRAFLAG_SLOW   0x2

Definition at line 2158 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_COMMENT   0x10

Definition at line 2153 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_ENCRYPT   0x20

Definition at line 2154 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_EXTRA   0x4

Definition at line 2151 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_MULTIPART   0x2

Definition at line 2150 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_FLAG_ORIG_NAME   0x8

Definition at line 2152 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_FLAG_UNKNOWN_MASK   0xc0

Definition at line 2155 of file zlib.c.

Referenced by gzfile_read_header().

#define GZ_MAGIC1   0x1f

Definition at line 2147 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_MAGIC2   0x8b

Definition at line 2148 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZ_METHOD_DEFLATE   8

Definition at line 2149 of file zlib.c.

Referenced by gzfile_make_header(), and gzfile_read_header().

#define GZFILE_CBUF_CAPA   10

Definition at line 2209 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 2211 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 2218 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 2283 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 2282 of file zlib.c.

Referenced by rb_gzwriter_s_allocate().

#define GZIP_SUPPORT   1

Definition at line 34 of file zlib.c.

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

Definition at line 55 of file zlib.c.

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

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

Definition at line 31 of file zlib.c.

#define OS_AMIGA   0x01

Definition at line 2162 of file zlib.c.

Referenced by Init_zlib().

#define OS_ATARI   0x05

Definition at line 2165 of file zlib.c.

Referenced by Init_zlib().

#define OS_CODE   OS_UNIX

Definition at line 2179 of file zlib.c.

Referenced by Init_zlib().

#define OS_CPM   0x09

Definition at line 2173 of file zlib.c.

Referenced by Init_zlib().

#define OS_MACOS   0x07

Definition at line 2167 of file zlib.c.

Referenced by Init_zlib().

#define OS_MSDOS   0x00

Definition at line 2161 of file zlib.c.

Referenced by Init_zlib().

#define OS_OS2   0x06

Definition at line 2166 of file zlib.c.

Referenced by Init_zlib().

#define OS_QDOS   0x0c

Definition at line 2174 of file zlib.c.

Referenced by Init_zlib().

#define OS_RISCOS   0x0d

Definition at line 2175 of file zlib.c.

Referenced by Init_zlib().

#define OS_TOPS20   0x0a

Definition at line 2168 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNIX   0x03

Definition at line 2164 of file zlib.c.

Referenced by Init_zlib().

#define OS_UNKNOWN   0xff

Definition at line 2176 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMCMS   0x04

Definition at line 2171 of file zlib.c.

Referenced by Init_zlib().

#define OS_VMS   0x02

Definition at line 2163 of file zlib.c.

Referenced by Init_zlib().

#define OS_WIN32   0x0b

Definition at line 2169 of file zlib.c.

Referenced by Init_zlib().

#define OS_ZSYSTEM   0x08

Definition at line 2172 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_addstr   rb_io_addstr

Definition at line 3566 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_print   rb_io_print

Definition at line 3576 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_printf   rb_io_printf

Definition at line 3571 of file zlib.c.

Referenced by Init_zlib().

#define rb_gzwriter_puts   rb_io_puts

Definition at line 3581 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_adler32_combine   rb_f_notimplement

Definition at line 458 of file zlib.c.

Referenced by Init_zlib().

#define rb_zlib_crc32_combine   rb_f_notimplement

Definition at line 496 of file zlib.c.

Referenced by Init_zlib().

#define RUBY_ZLIB_VERSION   "0.6.0"

Definition at line 28 of file zlib.c.

Referenced by Init_zlib().

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

Definition at line 58 of file zlib.c.

#define VALGRIND_MAKE_MEM_DEFINED (   p,
  n 
)    0

Definition at line 24 of file zlib.c.

Referenced by zlib_mem_alloc().

#define VALGRIND_MAKE_MEM_UNDEFINED (   p,
  n 
)    0

Definition at line 25 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:
#define RSTRING_PTR(str)
static void zstream_append_input(struct zstream *, const Bytef *, long)
Definition: zlib.c:859
#define RSTRING_LEN(str)
#define RB_GC_GUARD(v)
BDIGIT v
Definition: bigdecimal.c:5677

Definition at line 873 of file zlib.c.

Referenced by gzfile_read_raw_ensure(), and gzfile_read_raw_until_zero().

#define ZSTREAM_AVAIL_OUT_STEP_MAX   16384
#define ZSTREAM_AVAIL_OUT_STEP_MIN   2048

Definition at line 562 of file zlib.c.

Referenced by zstream_expand_buffer(), and zstream_expand_buffer_without_gvl().

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

Definition at line 1173 of file zlib.c.

Referenced by rb_deflate_s_allocate().

#define ZSTREAM_EXPAND_BUFFER_OK   0

Definition at line 555 of file zlib.c.

Referenced by zstream_expand_buffer_without_gvl().

#define ZSTREAM_FLAG_CLOSING   0x8

Definition at line 544 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

#define ZSTREAM_FLAG_FINISHED   0x4

Definition at line 543 of file zlib.c.

Referenced by zstream_run_func().

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

Definition at line 545 of file zlib.c.

Referenced by gzfile_reset().

#define ZSTREAM_FLAG_IN_STREAM   0x2

Definition at line 542 of file zlib.c.

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

#define ZSTREAM_FLAG_READY   0x1

Definition at line 541 of file zlib.c.

Referenced by zstream_reset().

#define ZSTREAM_FLAG_UNUSED   0x20

Definition at line 547 of file zlib.c.

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

Definition at line 1174 of file zlib.c.

Referenced by rb_inflate_s_allocate().

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

Definition at line 616 of file zlib.c.

Referenced by rb_deflate_s_deflate().

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

Definition at line 617 of file zlib.c.

Referenced by rb_inflate_s_inflate().

#define ZSTREAM_INITIAL_BUFSIZE   1024

Definition at line 559 of file zlib.c.

Referenced by zstream_expand_buffer().

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

Definition at line 552 of file zlib.c.

Referenced by gzfile_reader_end(), and gzfile_writer_end().

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

Definition at line 553 of file zlib.c.

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

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

Function Documentation

static VALUE deflate_run ( VALUE  args)
static

Definition at line 1571 of file zlib.c.

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

Referenced by rb_deflate_s_deflate().

static VALUE do_checksum ( int  ,
VALUE ,
uLong(*)(uLong, const Bytef *, uInt)   
)
static
static void do_deflate ( struct zstream z,
VALUE  src,
int  flush 
)
static

Definition at line 1630 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 1942 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 351 of file zlib.c.

Referenced by gzfile_free(), and zstream_finalize().

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

References Data_Get_Struct, gz, 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
static unsigned int gzfile_get16 ( const unsigned char *  src)
static

Definition at line 2396 of file zlib.c.

References n.

Referenced by gzfile_read_header().

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

Definition at line 2405 of file zlib.c.

References n.

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_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 2330 of file zlib.c.

References Check_Type, gz, GZFILE_READ_SIZE, INT2FIX, gzfile::io, rb_funcall(), str, 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 3052 of file zlib.c.

References gzfile_wrap(), 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 2416 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 2834 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 2827 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
if ( NIL_Pvsum)

Definition at line 403 of file zlib.c.

References NUM2ULONG.

if ( NIL_P(str )

Definition at line 406 of file zlib.c.

static VALUE inflate_run ( VALUE  args)
static

Definition at line 1885 of file zlib.c.

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

Referenced by rb_inflate_s_inflate().

void Init_zlib ( void  )

Definition at line 4200 of file zlib.c.

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

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

Definition at line 1691 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 1669 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 1714 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 1446 of file zlib.c.

References zstream_deflate_new.

Referenced by Init_zlib().

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

Definition at line 1784 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_close ( VALUE  obj)
static

Definition at line 3259 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_closed_p ( VALUE  obj)
static

Definition at line 3294 of file zlib.c.

References Data_Get_Struct, gz, gzfile::io, NIL_P(), Qfalse, and Qtrue.

Referenced by Init_zlib().

static VALUE rb_gzfile_comment ( VALUE  obj)
static

Definition at line 3144 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_crc ( VALUE  obj)
static

Definition at line 3082 of file zlib.c.

References 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 3307 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_finish ( VALUE  obj)
static

Definition at line 3277 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_level ( VALUE  obj)
static

Definition at line 3104 of file zlib.c.

References get_gzfile(), INT2FIX, and level.

Referenced by Init_zlib().

static VALUE rb_gzfile_lineno ( VALUE  obj)
static

Definition at line 3160 of file zlib.c.

References get_gzfile(), INT2NUM, and lineno.

Referenced by Init_zlib().

static VALUE rb_gzfile_mtime ( VALUE  obj)
static

Definition at line 3093 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_orig_name ( VALUE  obj)
static

Definition at line 3127 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_os_code ( VALUE  obj)
static

Definition at line 3115 of file zlib.c.

References get_gzfile(), INT2FIX, and os_code.

Referenced by Init_zlib().

static VALUE rb_gzfile_path ( VALUE  obj)
static

Definition at line 3380 of file zlib.c.

References Data_Get_Struct, gz, 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 3041 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 3171 of file zlib.c.

References get_gzfile(), gz, gzfile::lineno, 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 3335 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzfile_sync ( VALUE  obj)
static

Definition at line 3320 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 3071 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 3354 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 3365 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzreader_bytes ( VALUE  obj)
static

Definition at line 3891 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 4155 of file zlib.c.

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

Referenced by Init_zlib(), and rb_gzreader_lines().

static VALUE rb_gzreader_each_byte ( VALUE  obj)
static

Definition at line 3873 of file zlib.c.

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

Referenced by Init_zlib(), and rb_gzreader_bytes().

static VALUE rb_gzreader_each_char ( VALUE  obj)
static

Definition at line 3855 of file zlib.c.

References c, 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 3821 of file zlib.c.

References dst, get_gzfile(), gz, 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 3792 of file zlib.c.

References get_gzfile(), gz, 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 4123 of file zlib.c.

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

Referenced by Init_zlib(), and rb_gzreader_readline().

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

Definition at line 4173 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 3738 of file zlib.c.

References get_gzfile(), gz, 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 3839 of file zlib.c.

References dst, 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 3805 of file zlib.c.

References dst, 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 4139 of file zlib.c.

References dst, 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 4187 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 3769 of file zlib.c.

References Check_Type, get_gzfile(), gz, 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 3711 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzreader_s_allocate ( VALUE  klass)
static

Definition at line 3639 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 3654 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 3926 of file zlib.c.

References get_gzfile(), gz, 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 3725 of file zlib.c.

References Data_Get_Struct, gz, 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 3551 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_gzwriter_s_allocate ( VALUE  klass)
static

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

References gzfile_s_open().

Referenced by Init_zlib().

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

Definition at line 1964 of file zlib.c.

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

Referenced by Init_zlib().

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

Definition at line 1866 of file zlib.c.

References ARG_WBITS, Data_Get_Struct, err, obj, 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 1813 of file zlib.c.

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

Referenced by Init_zlib().

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

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

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

Referenced by Init_zlib().

rb_scan_args ( argc  ,
argv  ,
"02"  ,
str,
vsum 
)
return rb_uint2inum ( sum  )
static VALUE rb_zlib_adler32 ( int  argc,
VALUE argv,
VALUE  klass 
)
static

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

References do_checksum().

Referenced by Init_zlib().

static VALUE rb_zlib_crc_table ( VALUE  obj)
static

Definition at line 505 of file zlib.c.

References dst, 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 365 of file zlib.c.

References OBJ_TAINT, rb_str_new2, and str.

Referenced by Init_zlib().

static VALUE rb_zstream_adler ( VALUE  obj)
static

Definition at line 1399 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_avail_in ( VALUE  obj)
static

Definition at line 1359 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_avail_out ( VALUE  obj)
static

Definition at line 1332 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_closed_p ( VALUE  obj)
static

Definition at line 1417 of file zlib.c.

References Data_Get_Struct, Qfalse, Qtrue, and ZSTREAM_IS_READY.

Referenced by Init_zlib().

static VALUE rb_zstream_data_type ( VALUE  obj)
static

Definition at line 1390 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_end ( VALUE  obj)
static

Definition at line 1257 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_finish ( VALUE  obj)
static

Definition at line 1284 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_finished_p ( VALUE  obj)
static

Definition at line 1408 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_in ( VALUE  obj)
static

Definition at line 1303 of file zlib.c.

References Data_Get_Struct, dst, OBJ_INFECT, and zstream_detach_input().

Referenced by Init_zlib().

static VALUE rb_zstream_flush_next_out ( VALUE  obj)
static

Definition at line 1318 of file zlib.c.

References Data_Get_Struct, and zstream_detach_buffer().

Referenced by Init_zlib().

static VALUE rb_zstream_reset ( VALUE  obj)
static

Definition at line 1268 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_set_avail_out ( VALUE  obj,
VALUE  size 
)
static

Definition at line 1346 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_total_in ( VALUE  obj)
static

Definition at line 1370 of file zlib.c.

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

Referenced by Init_zlib().

static VALUE rb_zstream_total_out ( VALUE  obj)
static

Definition at line 1379 of file zlib.c.

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

Referenced by Init_zlib().

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

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

References p, VALGRIND_MAKE_MEM_DEFINED, void, and xmalloc.

Referenced by zstream_init().

static void zlib_mem_free ( voidpf  opaque,
voidpf  address 
)
static

Definition at line 593 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 859 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 906 of file zlib.c.

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

Referenced by rb_zstream_flush_next_in().

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

Definition at line 688 of file zlib.c.

References rb_protect(), state, and zstream_expand_buffer().

Referenced by zstream_run_func().

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

Definition at line 1142 of file zlib.c.

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

Referenced by gzfile_free(), and zstream_free().

static void zstream_free ( struct zstream z)
static

Definition at line 1152 of file zlib.c.

References xfree, zstream_finalize(), and ZSTREAM_IS_READY.

Referenced by zstream_new().

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

Definition at line 1135 of file zlib.c.

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

Referenced by gzfile_mark(), and zstream_new().

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

Definition at line 1161 of file zlib.c.

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

static void zstream_passthrough_input ( struct zstream z)
static

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

References zstream::input, and Qnil.

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

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

Definition at line 1019 of file zlib.c.

References args, and zstream_run_args::interrupt.

Referenced by zstream_run().

Variable Documentation

VALUE int argc
static

Definition at line 394 of file zlib.c.

VALUE* argv

Definition at line 395 of file zlib.c.

gz cbuf = 0

Definition at line 2276 of file zlib.c.

VALUE cBufError
static

Definition at line 303 of file zlib.c.

VALUE cCRCError
static

Definition at line 2183 of file zlib.c.

VALUE cDataError
static

Definition at line 303 of file zlib.c.

VALUE cGzError
static

Definition at line 2183 of file zlib.c.

VALUE cLengthError
static

Definition at line 2183 of file zlib.c.

VALUE cMemError
static

Definition at line 303 of file zlib.c.

VALUE cNeedDict
static

Definition at line 302 of file zlib.c.

VALUE cNoFooter
static

Definition at line 2183 of file zlib.c.

gz comment = Qnil

Definition at line 2266 of file zlib.c.

gz crc = crc32(0, Z_NULL, 0)

Definition at line 2267 of file zlib.c.

Referenced by gzfile_check_footer(), and rb_gzfile_crc().

VALUE cStreamEnd
static

Definition at line 302 of file zlib.c.

VALUE cStreamError
static

Definition at line 303 of file zlib.c.

VALUE cVersionError
static

Definition at line 303 of file zlib.c.

VALUE cZError
static

Definition at line 302 of file zlib.c.

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

Definition at line 564 of file zlib.c.

gz ec = NULL
gz ecflags = 0
gz ecopts = Qnil
else
Initial value:
{
sum = func(0, Z_NULL, 0)
SSL_METHOD *(* func)(void)
Definition: ossl_ssl.c:108
unsigned long sum
Definition: zlib.c:397

Definition at line 409 of file zlib.c.

Definition at line 2271 of file zlib.c.

gz enc2 = 0
gz end = endfunc

Definition at line 2270 of file zlib.c.

Referenced by block_append_gen(), bm_search(), bm_search_ic(), bm_search_notrev(), bm_search_notrev_ic(), chopped_length(), compile_string_node(), concat_opt_exact_info(), concat_opt_exact_info_str(), cont_restore_0(), convert_UTF8_to_JSON(), expand_case_fold_string(), fetch_name(), fetch_name_with_level(), fetch_token_in_cc(), fileattr_to_unixmode(), fmt_setup(), get_char_length_tree1(), get_event_id(), glob_helper(), int_dotimes(), int_downto(), int_sip_update(), int_upto(), is_pointer_to_heap(), iso2022jp_check_conv(), lex_get_str(), make_econv_exception(), match_at(), num_step(), onig_compile(), onig_region_set(), onigenc_mbn_mbc_case_fold(), ossl_ssl_read_internal(), ossl_ssl_write_internal(), pack_unpack(), parse(), parse_exp(), parser_magic_comment(), rand_range(), range_bsearch(), range_cover(), range_each(), range_include(), range_init(), range_initialize(), range_step(), range_values(), rb_ary_compact_bang(), rb_ary_fill(), rb_cstr_to_dbl(), rb_cstr_to_inum(), rb_f_sleep(), rb_file_dirname(), rb_get_values_at(), rb_iseq_compile_node(), rb_mutex_sleep(), rb_range_beg_len(), rb_reg_check_preprocess(), rb_reg_nth_match(), rb_reg_preprocess_dregexp(), rb_str_enumerate_codepoints(), rb_str_format(), rb_str_split_m(), rb_str_subpat_set(), rb_str_subpos(), rb_str_upto(), reduce_nodes_gen(), ruby_each_words(), ruby_enc_find_basename(), ruby_float_step(), ruby_float_step_size(), ruby_get_stack_grow_direction(), sip_hash24(), slow_search(), slow_search_ic(), sock_s_getservbyname(), str_end_cmp(), str_end_hash(), symbol2event_flag(), to_ascii(), update_string_node_case_fold(), vm_clear_global_method_cache(), wstati64(), yaml_check_utf8(), yaml_document_add_mapping(), yaml_document_add_sequence(), yaml_document_initialize(), yaml_document_start_event_initialize(), yaml_emitter_analyze_anchor(), yaml_emitter_analyze_scalar(), yaml_emitter_analyze_tag(), yaml_emitter_write_anchor(), yaml_emitter_write_double_quoted_scalar(), yaml_emitter_write_folded_scalar(), yaml_emitter_write_indicator(), yaml_emitter_write_literal_scalar(), yaml_emitter_write_plain_scalar(), yaml_emitter_write_single_quoted_scalar(), yaml_emitter_write_tag_content(), yaml_emitter_write_tag_handle(), yaml_parser_load_mapping(), yaml_parser_load_sequence(), yaml_parser_parse_document_start(), yaml_parser_process_directives(), and yaml_parser_scan_tag_uri().

void(* endfunc)(struct gzfile *)

Definition at line 2253 of file zlib.c.

Definition at line 2260 of file zlib.c.

uLong(* func)(uLong, const Bytef *, uInt)

Definition at line 396 of file zlib.c.

struct zstream_funcs* funcs

Definition at line 2252 of file zlib.c.

ID id_close
static

Definition at line 2182 of file zlib.c.

ID id_dictionaries
static

Definition at line 60 of file zlib.c.

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

ID id_flush
static

Definition at line 2182 of file zlib.c.

ID id_input
static

Definition at line 2182 of file zlib.c.

ID id_path
static

Definition at line 2182 of file zlib.c.

ID id_read
static

Definition at line 2182 of file zlib.c.

ID id_readpartial
static

Definition at line 2182 of file zlib.c.

ID id_seek
static

Definition at line 2182 of file zlib.c.

ID id_write
static

Definition at line 2182 of file zlib.c.

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

Definition at line 568 of file zlib.c.

gz io = Qnil
VALUE VALUE klass
static

Definition at line 2251 of file zlib.c.

gz level = 0
gz lineno = 0
gz mtime = 0

Definition at line 2263 of file zlib.c.

Referenced by rb_gzfile_mtime(), rb_gzfile_set_mtime(), and wutime().

Definition at line 2258 of file zlib.c.

gz orig_name = Qnil

Definition at line 2265 of file zlib.c.

gz os_code = OS_CODE

Definition at line 2264 of file zlib.c.

Referenced by rb_gzfile_os_code().

gz path = Qnil
sum
Initial value:
{
VALUE str, vsum
static VALUE char * str
Definition: tcltklib.c:3546
unsigned long VALUE
Definition: ripper.y:104

Definition at line 397 of file zlib.c.

Referenced by rb_str_sum().

gz ungetc = 0

Definition at line 2269 of file zlib.c.