xref: /isa-l/igzip/data_struct2.asm (revision 03bef684a4e9ed4441fb7f18eaae53cef973eb26)
1660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2660f49b0SGreg Tucker;  Copyright(c) 2011-2016 Intel Corporation All rights reserved.
3660f49b0SGreg Tucker;
4660f49b0SGreg Tucker;  Redistribution and use in source and binary forms, with or without
5660f49b0SGreg Tucker;  modification, are permitted provided that the following conditions
6660f49b0SGreg Tucker;  are met:
7660f49b0SGreg Tucker;    * Redistributions of source code must retain the above copyright
8660f49b0SGreg Tucker;      notice, this list of conditions and the following disclaimer.
9660f49b0SGreg Tucker;    * Redistributions in binary form must reproduce the above copyright
10660f49b0SGreg Tucker;      notice, this list of conditions and the following disclaimer in
11660f49b0SGreg Tucker;      the documentation and/or other materials provided with the
12660f49b0SGreg Tucker;      distribution.
13660f49b0SGreg Tucker;    * Neither the name of Intel Corporation nor the names of its
14660f49b0SGreg Tucker;      contributors may be used to endorse or promote products derived
15660f49b0SGreg Tucker;      from this software without specific prior written permission.
16660f49b0SGreg Tucker;
17660f49b0SGreg Tucker;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18660f49b0SGreg Tucker;  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19660f49b0SGreg Tucker;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20660f49b0SGreg Tucker;  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21660f49b0SGreg Tucker;  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22660f49b0SGreg Tucker;  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23660f49b0SGreg Tucker;  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24660f49b0SGreg Tucker;  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25660f49b0SGreg Tucker;  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26660f49b0SGreg Tucker;  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27660f49b0SGreg Tucker;  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29660f49b0SGreg Tucker
30660f49b0SGreg Tucker;; START_FIELDS
31660f49b0SGreg Tucker%macro START_FIELDS 0
32660f49b0SGreg Tucker%assign _FIELD_OFFSET 0
33660f49b0SGreg Tucker%assign _STRUCT_ALIGN 0
34660f49b0SGreg Tucker%endm
35660f49b0SGreg Tucker
36660f49b0SGreg Tucker;; FIELD name size align
37660f49b0SGreg Tucker%macro FIELD 3
38660f49b0SGreg Tucker%define %%name  %1
39660f49b0SGreg Tucker%define %%size  %2
40660f49b0SGreg Tucker%define %%align %3
41660f49b0SGreg Tucker
42660f49b0SGreg Tucker%assign _FIELD_OFFSET (_FIELD_OFFSET + (%%align) - 1) & (~ ((%%align)-1))
43660f49b0SGreg Tucker%%name	equ	_FIELD_OFFSET
44660f49b0SGreg Tucker%assign _FIELD_OFFSET _FIELD_OFFSET + (%%size)
45660f49b0SGreg Tucker%if (%%align > _STRUCT_ALIGN)
46660f49b0SGreg Tucker%assign _STRUCT_ALIGN %%align
47660f49b0SGreg Tucker%endif
48660f49b0SGreg Tucker%endm
49660f49b0SGreg Tucker
50660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
51660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
52660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
53660f49b0SGreg Tucker
54660f49b0SGreg TuckerSTART_FIELDS	;; BitBuf2
55660f49b0SGreg Tucker
56660f49b0SGreg Tucker;;      name		size    align
57660f49b0SGreg TuckerFIELD	_m_bits,	8,	8
58660f49b0SGreg TuckerFIELD	_m_bit_count,	4,	4
59660f49b0SGreg TuckerFIELD	_m_out_buf,	8,	8
60660f49b0SGreg TuckerFIELD	_m_out_end,	8,	8
61660f49b0SGreg TuckerFIELD	_m_out_start,	8,	8
62660f49b0SGreg Tucker
63660f49b0SGreg Tucker%assign _BitBuf2_size	_FIELD_OFFSET
64660f49b0SGreg Tucker%assign _BitBuf2_align	_STRUCT_ALIGN
65660f49b0SGreg Tucker
66660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
68660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
69e38ed4b5SRoy Oursler%define HIST_ELEM_SIZE 4
70660f49b0SGreg Tucker
7101dfbcc4SRoy OurslerSTART_FIELDS	;; isal_mod_hist
7201dfbcc4SRoy Oursler
7301dfbcc4SRoy Oursler;;      name		size    align
74e38ed4b5SRoy OurslerFIELD	_d_hist,	30*HIST_ELEM_SIZE,	HIST_ELEM_SIZE
75e38ed4b5SRoy OurslerFIELD	_ll_hist,	513*HIST_ELEM_SIZE,	HIST_ELEM_SIZE
7601dfbcc4SRoy Oursler
7701dfbcc4SRoy Oursler%assign _isal_mod_hist_size	_FIELD_OFFSET
7801dfbcc4SRoy Oursler%assign _isal_mod_hist_align	_STRUCT_ALIGN
7901dfbcc4SRoy Oursler
8001dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8101dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8201dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8301dfbcc4SRoy Oursler
8401dfbcc4SRoy Oursler%define HUFF_CODE_SIZE 4
8501dfbcc4SRoy Oursler
8601dfbcc4SRoy OurslerSTART_FIELDS	;; hufftables_icf
8701dfbcc4SRoy Oursler
8801dfbcc4SRoy Oursler;;      name		size    align
8901dfbcc4SRoy OurslerFIELD	_dist_table,	31 * HUFF_CODE_SIZE,	HUFF_CODE_SIZE
9047256268SRoy OurslerFIELD	_lit_len_table,	513 * HUFF_CODE_SIZE,	HUFF_CODE_SIZE
9101dfbcc4SRoy Oursler
9201dfbcc4SRoy Oursler%assign _hufftables_icf_size	_FIELD_OFFSET
9301dfbcc4SRoy Oursler%assign _hufftables_icf_align	_STRUCT_ALIGN
9401dfbcc4SRoy Oursler
9501dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9601dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9701dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9801dfbcc4SRoy Oursler
997a12bcb2SRoy OurslerSTART_FIELDS	;; hash8k_buf
100fe68f02dSRoy Oursler
101fe68f02dSRoy Oursler;;      name		size    align
1027a12bcb2SRoy OurslerFIELD	_hash8k_table,	2 * IGZIP_HASH8K_HASH_SIZE,	2
103fe68f02dSRoy Oursler
1047a12bcb2SRoy Oursler%assign _hash_buf1_size	_FIELD_OFFSET
1057a12bcb2SRoy Oursler%assign _hash_buf1_align	_STRUCT_ALIGN
106fe68f02dSRoy Oursler
107fe68f02dSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
108fe68f02dSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
109fe68f02dSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
110fe68f02dSRoy Oursler
1117a12bcb2SRoy OurslerSTART_FIELDS	;; hash_map_buf
1124ae2d1beSRoy Oursler
1134ae2d1beSRoy Oursler;;      name		size    align
1147a12bcb2SRoy OurslerFIELD	_hash_table,	2 * IGZIP_HASH_MAP_HASH_SIZE,	2
1154ae2d1beSRoy OurslerFIELD	_matches_next,	8,	8
1164ae2d1beSRoy OurslerFIELD	_matches_end,	8,	8
1174ae2d1beSRoy OurslerFIELD	_matches,	4*4*1024,	4
1184ae2d1beSRoy OurslerFIELD	_overflow,	4*LA,	4
1194ae2d1beSRoy Oursler
1207a12bcb2SRoy Oursler%assign _hash_map_buf_size	_FIELD_OFFSET
1217a12bcb2SRoy Oursler%assign _hash_map_buf_align	_STRUCT_ALIGN
1224ae2d1beSRoy Oursler
1234ae2d1beSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1244ae2d1beSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1254ae2d1beSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1264ae2d1beSRoy Oursler
12701dfbcc4SRoy Oursler%define DEF_MAX_HDR_SIZE 328
1284ae2d1beSRoy OurslerSTART_FIELDS	;; level_buf
12901dfbcc4SRoy Oursler
13001dfbcc4SRoy Oursler;;      name		size    align
13101dfbcc4SRoy OurslerFIELD	_encode_tables,		_hufftables_icf_size,	_hufftables_icf_align
132fe68f02dSRoy OurslerFIELD	_hist,		_isal_mod_hist_size, _isal_mod_hist_align
1334ae2d1beSRoy OurslerFIELD	_deflate_hdr_count,	4,	4
1344ae2d1beSRoy OurslerFIELD	_deflate_hdr_extra_bits,4,	4
1354ae2d1beSRoy OurslerFIELD	_deflate_hdr,		DEF_MAX_HDR_SIZE,	1
13601dfbcc4SRoy OurslerFIELD	_icf_buf_next,		8,	8
13701dfbcc4SRoy OurslerFIELD	_icf_buf_avail_out,	8,	8
1384ae2d1beSRoy OurslerFIELD	_icf_buf_start,		8,	8
1397a12bcb2SRoy OurslerFIELD	_lvl_extra,		_hash_map_buf_size,	_hash_map_buf_align
14001dfbcc4SRoy Oursler
1414ae2d1beSRoy Oursler%assign _level_buf_base_size	_FIELD_OFFSET
1424ae2d1beSRoy Oursler%assign _level_buf_base_align	_STRUCT_ALIGN
1434ae2d1beSRoy Oursler
1447a12bcb2SRoy Oursler_hash8k_hash_table	equ	_lvl_extra + _hash8k_table
1457a12bcb2SRoy Oursler_hash_map_hash_table	equ	_lvl_extra + _hash_table
1467a12bcb2SRoy Oursler_hash_map_matches_next	equ	_lvl_extra + _matches_next
1477a12bcb2SRoy Oursler_hash_map_matches_end	equ	_lvl_extra + _matches_end
1487a12bcb2SRoy Oursler_hash_map_matches	equ	_lvl_extra + _matches
149fe68f02dSRoy Oursler_hist_lit_len		equ	_hist+_ll_hist
150fe68f02dSRoy Oursler_hist_dist		equ	_hist+_d_hist
15101dfbcc4SRoy Oursler
15201dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15301dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15401dfbcc4SRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15501dfbcc4SRoy Oursler
156660f49b0SGreg TuckerSTART_FIELDS	;; isal_zstate
157660f49b0SGreg Tucker
158660f49b0SGreg Tucker;;      name		size    align
1596049ce3cSRoy OurslerFIELD	_total_in_start,4,	4
16049156c35SRoy OurslerFIELD	_block_next,	4,	4
16149156c35SRoy OurslerFIELD	_block_end,	4,	4
1626317ce2bSRoy OurslerFIELD	_dist_mask,	4,	4
163*03bef684SRoy OurslerFIELD	_hash_mask,	4,	4
164*03bef684SRoy OurslerFIELD	_state,		4,	4
165660f49b0SGreg TuckerFIELD	_bitbuf,	_BitBuf2_size,	_BitBuf2_align
16680bfbb33SRoy OurslerFIELD	_crc,		4,	4
1676049ce3cSRoy OurslerFIELD	_has_wrap_hdr,	1,	1
1686049ce3cSRoy OurslerFIELD	_has_eob_hdr,	1,	1
1696049ce3cSRoy OurslerFIELD	_has_eob,	1,	1
1706049ce3cSRoy OurslerFIELD	_has_hist,	1,	1
1714ae2d1beSRoy OurslerFIELD	_has_level_buf_init,	2,	2
172660f49b0SGreg TuckerFIELD	_count,		4,	4
173660f49b0SGreg TuckerFIELD   _tmp_out_buff,	16,	1
174660f49b0SGreg TuckerFIELD   _tmp_out_start,	4,	4
175660f49b0SGreg TuckerFIELD	_tmp_out_end,	4,	4
17680bfbb33SRoy OurslerFIELD	_b_bytes_valid,	4,	4
17780bfbb33SRoy OurslerFIELD	_b_bytes_processed,	4,	4
17880bfbb33SRoy OurslerFIELD	_buffer,	BSIZE,	1
1794ae2d1beSRoy OurslerFIELD	_head,		IGZIP_LVL0_HASH_SIZE*2,	2
180660f49b0SGreg Tucker%assign _isal_zstate_size	_FIELD_OFFSET
181660f49b0SGreg Tucker%assign _isal_zstate_align	_STRUCT_ALIGN
182660f49b0SGreg Tucker
183660f49b0SGreg Tucker_bitbuf_m_bits		equ	_bitbuf+_m_bits
184660f49b0SGreg Tucker_bitbuf_m_bit_count	equ	_bitbuf+_m_bit_count
185660f49b0SGreg Tucker_bitbuf_m_out_buf	equ	_bitbuf+_m_out_buf
186660f49b0SGreg Tucker_bitbuf_m_out_end	equ	_bitbuf+_m_out_end
187660f49b0SGreg Tucker_bitbuf_m_out_start	equ	_bitbuf+_m_out_start
188660f49b0SGreg Tucker
189660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
190660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
191660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
192660f49b0SGreg Tucker
193660f49b0SGreg TuckerSTART_FIELDS	;; isal_zstream
194660f49b0SGreg Tucker
195660f49b0SGreg Tucker;;      name		size    align
196660f49b0SGreg TuckerFIELD	_next_in,	8,	8
197660f49b0SGreg TuckerFIELD	_avail_in,	4,	4
198660f49b0SGreg TuckerFIELD	_total_in,	4,	4
199660f49b0SGreg TuckerFIELD	_next_out,	8,	8
200660f49b0SGreg TuckerFIELD	_avail_out,	4,	4
201660f49b0SGreg TuckerFIELD	_total_out,	4,	4
202660f49b0SGreg TuckerFIELD	_hufftables,	8,	8
20301dfbcc4SRoy OurslerFIELD	_level,		4,	4
20401dfbcc4SRoy OurslerFIELD	_level_buf_size,	4,	4
20501dfbcc4SRoy OurslerFIELD	_level_buf,	8,	8
20680bfbb33SRoy OurslerFIELD	_end_of_stream,	2,	2
20780bfbb33SRoy OurslerFIELD   _flush,		2,	2
2086317ce2bSRoy OurslerFIELD	_gzip_flag,	2,	2
2096317ce2bSRoy OurslerFIELD	_hist_bits,	2,	2
210660f49b0SGreg TuckerFIELD	_internal_state,	_isal_zstate_size,	_isal_zstate_align
211660f49b0SGreg Tucker
212660f49b0SGreg Tucker%assign _isal_zstream_size	_FIELD_OFFSET
213660f49b0SGreg Tucker%assign _isal_zstream_align	_STRUCT_ALIGN
214660f49b0SGreg Tucker
2156049ce3cSRoy Oursler_internal_state_total_in_start		equ	_internal_state+_total_in_start
21649156c35SRoy Oursler_internal_state_block_next		equ	_internal_state+_block_next
21749156c35SRoy Oursler_internal_state_block_end		equ	_internal_state+_block_end
218660f49b0SGreg Tucker_internal_state_b_bytes_valid		  equ   _internal_state+_b_bytes_valid
219660f49b0SGreg Tucker_internal_state_b_bytes_processed	 equ   _internal_state+_b_bytes_processed
220660f49b0SGreg Tucker_internal_state_crc			  equ   _internal_state+_crc
2216317ce2bSRoy Oursler_internal_state_dist_mask		  equ   _internal_state+_dist_mask
222*03bef684SRoy Oursler_internal_state_hash_mask		  equ   _internal_state+_hash_mask
223660f49b0SGreg Tucker_internal_state_bitbuf			  equ   _internal_state+_bitbuf
224660f49b0SGreg Tucker_internal_state_state			  equ   _internal_state+_state
225660f49b0SGreg Tucker_internal_state_count			  equ   _internal_state+_count
226660f49b0SGreg Tucker_internal_state_tmp_out_buff		  equ   _internal_state+_tmp_out_buff
227660f49b0SGreg Tucker_internal_state_tmp_out_start		  equ   _internal_state+_tmp_out_start
228660f49b0SGreg Tucker_internal_state_tmp_out_end		  equ   _internal_state+_tmp_out_end
22934c341dbSRoy Oursler_internal_state_has_wrap_hdr		  equ   _internal_state+_has_wrap_hdr
230660f49b0SGreg Tucker_internal_state_has_eob		  equ   _internal_state+_has_eob
231660f49b0SGreg Tucker_internal_state_has_eob_hdr		  equ   _internal_state+_has_eob_hdr
2324809b9baSRoy Oursler_internal_state_has_hist		  equ   _internal_state+_has_hist
2334ae2d1beSRoy Oursler_internal_state_has_level_buf_init	  equ   _internal_state+_has_level_buf_init
234660f49b0SGreg Tucker_internal_state_buffer			  equ   _internal_state+_buffer
235660f49b0SGreg Tucker_internal_state_head			  equ   _internal_state+_head
236660f49b0SGreg Tucker_internal_state_bitbuf_m_bits		  equ   _internal_state+_bitbuf_m_bits
237660f49b0SGreg Tucker_internal_state_bitbuf_m_bit_count	equ   _internal_state+_bitbuf_m_bit_count
238660f49b0SGreg Tucker_internal_state_bitbuf_m_out_buf	  equ   _internal_state+_bitbuf_m_out_buf
239660f49b0SGreg Tucker_internal_state_bitbuf_m_out_end	  equ   _internal_state+_bitbuf_m_out_end
240660f49b0SGreg Tucker_internal_state_bitbuf_m_out_start	equ   _internal_state+_bitbuf_m_out_start
241660f49b0SGreg Tucker
242660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
243660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
244660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
24501dfbcc4SRoy Oursler;; Internal States
24601dfbcc4SRoy OurslerZSTATE_NEW_HDR			equ	0
24701dfbcc4SRoy OurslerZSTATE_HDR			equ	(ZSTATE_NEW_HDR + 1)
24801dfbcc4SRoy OurslerZSTATE_CREATE_HDR		equ	(ZSTATE_HDR + 1)
24901dfbcc4SRoy OurslerZSTATE_BODY			equ	(ZSTATE_CREATE_HDR + 1)
25001dfbcc4SRoy OurslerZSTATE_FLUSH_READ_BUFFER	equ	(ZSTATE_BODY + 1)
25101dfbcc4SRoy OurslerZSTATE_FLUSH_ICF_BUFFER		equ	(ZSTATE_FLUSH_READ_BUFFER + 1)
25264143a74SRoy OurslerZSTATE_TYPE0_HDR		equ	(ZSTATE_FLUSH_ICF_BUFFER + 1)
25364143a74SRoy OurslerZSTATE_TYPE0_BODY		equ	(ZSTATE_TYPE0_HDR + 1)
25464143a74SRoy OurslerZSTATE_SYNC_FLUSH		equ	(ZSTATE_TYPE0_BODY + 1)
25501dfbcc4SRoy OurslerZSTATE_FLUSH_WRITE_BUFFER	equ	(ZSTATE_SYNC_FLUSH + 1)
25601dfbcc4SRoy OurslerZSTATE_TRL			equ	(ZSTATE_FLUSH_WRITE_BUFFER + 1)
257660f49b0SGreg Tucker
258660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
259660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
260660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
261660f49b0SGreg Tucker_NO_FLUSH		equ 0
262660f49b0SGreg Tucker_SYNC_FLUSH		equ 1
263660f49b0SGreg Tucker_FULL_FLUSH		equ 2
264660f49b0SGreg Tucker_STORED_BLK		equ 0
265660f49b0SGreg Tucker%assign _STORED_BLK_END 65535
266660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
267660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
268660f49b0SGreg Tucker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
269ed15402fSRoy OurslerIGZIP_NO_HIST		equ 0
270ed15402fSRoy OurslerIGZIP_HIST		equ 1
271ed15402fSRoy OurslerIGZIP_DICT_HIST		equ 2
272660f49b0SGreg Tucker
273ed15402fSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
274ed15402fSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
275ed15402fSRoy Oursler;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
276