Rizin
unix-like reverse engineering framework and cli tools
deflate.h File Reference
#include "zutil.h"

Go to the source code of this file.

Classes

struct  ct_data_s
 
struct  tree_desc_s
 
struct  internal_state
 

Macros

#define GZIP
 
#define LENGTH_CODES   29
 
#define LITERALS   256
 
#define L_CODES   (LITERALS+1+LENGTH_CODES)
 
#define D_CODES   30
 
#define BL_CODES   19
 
#define HEAP_SIZE   (2*L_CODES+1)
 
#define MAX_BITS   15
 
#define Buf_size   16
 
#define INIT_STATE   42 /* zlib header -> BUSY_STATE */
 
#define GZIP_STATE   57 /* gzip header -> BUSY_STATE | EXTRA_STATE */
 
#define EXTRA_STATE   69 /* gzip extra block -> NAME_STATE */
 
#define NAME_STATE   73 /* gzip file name -> COMMENT_STATE */
 
#define COMMENT_STATE   91 /* gzip comment -> HCRC_STATE */
 
#define HCRC_STATE   103 /* gzip header CRC -> BUSY_STATE */
 
#define BUSY_STATE   113 /* deflate -> FINISH_STATE */
 
#define FINISH_STATE   666 /* stream complete */
 
#define Freq   fc.freq
 
#define Code   fc.code
 
#define Dad   dl.dad
 
#define Len   dl.len
 
#define max_insert_length   max_lazy_match
 
#define put_byte(s, c)   {s->pending_buf[s->pending++] = (Bytef)(c);}
 
#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)
 
#define MAX_DIST(s)   ((s)->w_size-MIN_LOOKAHEAD)
 
#define WIN_INIT   MAX_MATCH
 
#define d_code(dist)    ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
 
#define _tr_tally_lit(s, c, flush)
 
#define _tr_tally_dist(s, distance, length, flush)
 

Typedefs

typedef struct ct_data_s ct_data
 
typedef struct static_tree_desc_s static_tree_desc
 
typedef struct tree_desc_s tree_desc
 
typedef ush Pos
 
typedef Pos FAR Posf
 
typedef unsigned IPos
 
typedef struct internal_state deflate_state
 

Functions

void ZLIB_INTERNAL _tr_init OF ((deflate_state *s))
 
int ZLIB_INTERNAL _tr_tally OF ((deflate_state *s, unsigned dist, unsigned lc))
 
void ZLIB_INTERNAL _tr_flush_block OF ((deflate_state *s, charf *buf, ulg stored_len, int last))
 

Variables

uch ZLIB_INTERNAL _length_code []
 
uch ZLIB_INTERNAL _dist_code []
 

Macro Definition Documentation

◆ _tr_tally_dist

#define _tr_tally_dist (   s,
  distance,
  length,
  flush 
)
Value:
{ uch len = (uch)(length); \
ush dist = (ush)(distance); \
s->sym_buf[s->sym_next++] = dist; \
s->sym_buf[s->sym_next++] = dist >> 8; \
s->sym_buf[s->sym_next++] = len; \
dist--; \
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
s->dyn_dtree[d_code(dist)].Freq++; \
flush = (s->sym_next == s->sym_end); \
}
size_t len
Definition: 6502dis.c:15
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len static semflg const void static shmflg const struct timespec struct timespec static rem const char static group const void length
Definition: sflib.h:133
#define LITERALS
Definition: deflate.h:33
#define d_code(dist)
Definition: deflate.h:303
uch ZLIB_INTERNAL _length_code[]
Definition: trees.c:104
static RzSocket * s
Definition: rtr.c:28
unsigned short ush
Definition: zutil.h:41
unsigned char uch
Definition: zutil.h:39

Definition at line 329 of file deflate.h.

◆ _tr_tally_lit

#define _tr_tally_lit (   s,
  c,
  flush 
)
Value:
{ uch cc = (c); \
s->sym_buf[s->sym_next++] = 0; \
s->sym_buf[s->sym_next++] = 0; \
s->sym_buf[s->sym_next++] = cc; \
s->dyn_ltree[cc].Freq++; \
flush = (s->sym_next == s->sym_end); \
}
#define c(i)
Definition: sha256.c:43

Definition at line 321 of file deflate.h.

◆ BL_CODES

#define BL_CODES   19

Definition at line 42 of file deflate.h.

◆ Buf_size

#define Buf_size   16

Definition at line 51 of file deflate.h.

◆ BUSY_STATE

#define BUSY_STATE   113 /* deflate -> FINISH_STATE */

Definition at line 62 of file deflate.h.

◆ Code

#define Code   fc.code

Definition at line 80 of file deflate.h.

◆ COMMENT_STATE

#define COMMENT_STATE   91 /* gzip comment -> HCRC_STATE */

Definition at line 60 of file deflate.h.

◆ d_code

#define d_code (   dist)     ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])

Definition at line 303 of file deflate.h.

◆ D_CODES

#define D_CODES   30

Definition at line 39 of file deflate.h.

◆ Dad

#define Dad   dl.dad

Definition at line 81 of file deflate.h.

◆ EXTRA_STATE

#define EXTRA_STATE   69 /* gzip extra block -> NAME_STATE */

Definition at line 58 of file deflate.h.

◆ FINISH_STATE

#define FINISH_STATE   666 /* stream complete */

Definition at line 63 of file deflate.h.

◆ Freq

#define Freq   fc.freq

Definition at line 79 of file deflate.h.

◆ GZIP

#define GZIP

Definition at line 23 of file deflate.h.

◆ GZIP_STATE

#define GZIP_STATE   57 /* gzip header -> BUSY_STATE | EXTRA_STATE */

Definition at line 56 of file deflate.h.

◆ HCRC_STATE

#define HCRC_STATE   103 /* gzip header CRC -> BUSY_STATE */

Definition at line 61 of file deflate.h.

◆ HEAP_SIZE

#define HEAP_SIZE   (2*L_CODES+1)

Definition at line 45 of file deflate.h.

◆ INIT_STATE

#define INIT_STATE   42 /* zlib header -> BUSY_STATE */

Definition at line 54 of file deflate.h.

◆ L_CODES

#define L_CODES   (LITERALS+1+LENGTH_CODES)

Definition at line 36 of file deflate.h.

◆ Len

#define Len   dl.len

Definition at line 82 of file deflate.h.

◆ LENGTH_CODES

#define LENGTH_CODES   29

Definition at line 30 of file deflate.h.

◆ LITERALS

#define LITERALS   256

Definition at line 33 of file deflate.h.

◆ MAX_BITS

#define MAX_BITS   15

Definition at line 48 of file deflate.h.

◆ MAX_DIST

#define MAX_DIST (   s)    ((s)->w_size-MIN_LOOKAHEAD)

Definition at line 284 of file deflate.h.

◆ max_insert_length

#define max_insert_length   max_lazy_match

Definition at line 182 of file deflate.h.

◆ MIN_LOOKAHEAD

#define MIN_LOOKAHEAD   (MAX_MATCH+MIN_MATCH+1)

Definition at line 279 of file deflate.h.

◆ NAME_STATE

#define NAME_STATE   73 /* gzip file name -> COMMENT_STATE */

Definition at line 59 of file deflate.h.

◆ put_byte

#define put_byte (   s,
  c 
)    {s->pending_buf[s->pending++] = (Bytef)(c);}

Definition at line 276 of file deflate.h.

◆ WIN_INIT

#define WIN_INIT   MAX_MATCH

Definition at line 289 of file deflate.h.

Typedef Documentation

◆ ct_data

typedef struct ct_data_s ct_data

◆ deflate_state

typedef struct internal_state deflate_state

◆ IPos

typedef unsigned IPos

Definition at line 94 of file deflate.h.

◆ Pos

typedef ush Pos

Definition at line 92 of file deflate.h.

◆ Posf

typedef Pos FAR Posf

Definition at line 93 of file deflate.h.

◆ static_tree_desc

Definition at line 1 of file deflate.h.

◆ tree_desc

typedef struct tree_desc_s tree_desc

Function Documentation

◆ OF() [1/3]

◆ OF() [2/3]

void ZLIB_INTERNAL _tr_flush_block OF ( (deflate_state *s, charf *buf, ulg stored_len, int last)  )

◆ OF() [3/3]

Variable Documentation

◆ _dist_code

uch ZLIB_INTERNAL _dist_code[]
extern

Definition at line 98 of file trees.c.

Referenced by tr_static_init().

◆ _length_code

uch ZLIB_INTERNAL _length_code[]
extern

Definition at line 104 of file trees.c.

Referenced by _tr_tally(), compress_block(), and tr_static_init().