1 #ifndef CLIB_LZMA_PROTOS_H 2 #define CLIB_LZMA_PROTOS_H 3 4 /* 5 lzma.library C prototypes 6 7 Copyright © 2010 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef LIBRARIES_LZMA_H 11 # include <libraries/lzma.h> 12 #endif 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 uint32_t lzma_version_number(void); 19 const char * lzma_version_string(void); 20 21 lzma_ret lzma_code(lzma_stream *strm, lzma_action action); 22 void lzma_end(lzma_stream *strm); 23 void lzma_get_progress(lzma_stream *strm, 24 uint64_t *progress_in, uint64_t *progress_out); 25 uint64_t lzma_memusage(const lzma_stream *strm); 26 uint64_t lzma_memlimit_get(const lzma_stream *strm); 27 lzma_ret lzma_memlimit_set( 28 lzma_stream *strm, uint64_t memlimit); 29 30 lzma_ret lzma_vli_encode(lzma_vli vli, size_t *vli_pos, 31 uint8_t *out, size_t *out_pos, size_t out_size); 32 lzma_ret lzma_vli_decode(lzma_vli *vli, size_t *vli_pos, 33 const uint8_t *in, size_t *in_pos, size_t in_size); 34 uint32_t lzma_vli_size(lzma_vli vli); 35 36 lzma_bool lzma_check_is_supported(lzma_check check); 37 uint32_t lzma_check_size(lzma_check check); 38 uint32_t lzma_crc32( 39 const uint8_t *buf, size_t size, uint32_t crc); 40 uint64_t lzma_crc64( 41 const uint8_t *buf, size_t size, uint64_t crc); 42 lzma_check lzma_get_check(const lzma_stream *strm); 43 44 lzma_bool lzma_filter_encoder_is_supported(lzma_vli id); 45 lzma_bool lzma_filter_decoder_is_supported(lzma_vli id); 46 lzma_ret lzma_filters_copy(const lzma_filter *src, 47 lzma_filter *dest, const lzma_allocator *allocator); 48 uint64_t lzma_raw_encoder_memusage(const lzma_filter *filters); 49 uint64_t lzma_raw_decoder_memusage(const lzma_filter *filters); 50 lzma_ret lzma_raw_encoder( 51 lzma_stream *strm, const lzma_filter *filters); 52 lzma_ret lzma_raw_decoder( 53 lzma_stream *strm, const lzma_filter *filters); 54 lzma_ret lzma_filters_update( 55 lzma_stream *strm, const lzma_filter *filters); 56 lzma_ret lzma_raw_buffer_encode( 57 const lzma_filter *filters, const lzma_allocator *allocator, 58 const uint8_t *in, size_t in_size, uint8_t *out, 59 size_t *out_pos, size_t out_size); 60 lzma_ret lzma_raw_buffer_decode( 61 const lzma_filter *filters, const lzma_allocator *allocator, 62 const uint8_t *in, size_t *in_pos, size_t in_size, 63 uint8_t *out, size_t *out_pos, size_t out_size); 64 lzma_ret lzma_properties_size( 65 uint32_t *size, const lzma_filter *filter); 66 lzma_ret lzma_properties_encode( 67 const lzma_filter *filter, uint8_t *props); 68 lzma_ret lzma_properties_decode( 69 lzma_filter *filter, const lzma_allocator *allocator, 70 const uint8_t *props, size_t props_size); 71 lzma_ret lzma_filter_flags_size( 72 uint32_t *size, const lzma_filter *filters); 73 lzma_ret lzma_filter_flags_encode(const lzma_filter *filters, 74 uint8_t *out, size_t *out_pos, size_t out_size); 75 lzma_ret lzma_filter_flags_decode( 76 lzma_filter *filters, const lzma_allocator *allocator, 77 const uint8_t *in, size_t *in_pos, size_t in_size); 78 79 lzma_bool lzma_mf_is_supported(lzma_match_finder match_finder); 80 lzma_bool lzma_mode_is_supported(lzma_mode mode); 81 lzma_bool lzma_lzma_preset( 82 lzma_options_lzma *options, uint32_t preset); 83 84 uint64_t lzma_easy_encoder_memusage(uint32_t preset); 85 uint64_t lzma_easy_decoder_memusage(uint32_t preset); 86 lzma_ret lzma_easy_encoder( 87 lzma_stream *strm, uint32_t preset, lzma_check check); 88 lzma_ret lzma_easy_buffer_encode( 89 uint32_t preset, lzma_check check, 90 const lzma_allocator *allocator, const uint8_t *in, size_t in_size, 91 uint8_t *out, size_t *out_pos, size_t out_size); 92 lzma_ret lzma_stream_encoder(lzma_stream *strm, 93 const lzma_filter *filters, lzma_check check); 94 uint64_t lzma_stream_encoder_mt_memusage( 95 const lzma_mt *options); 96 lzma_ret lzma_stream_encoder_mt( 97 lzma_stream *strm, const lzma_mt *options); 98 lzma_ret lzma_alone_encoder( 99 lzma_stream *strm, const lzma_options_lzma *options); 100 size_t lzma_stream_buffer_bound(size_t uncompressed_size); 101 lzma_ret lzma_stream_buffer_encode( 102 lzma_filter *filters, lzma_check check, 103 const lzma_allocator *allocator, const uint8_t *in, size_t in_size, 104 uint8_t *out, size_t *out_pos, size_t out_size); 105 lzma_ret lzma_stream_decoder( 106 lzma_stream *strm, uint64_t memlimit, uint32_t flags); 107 lzma_ret lzma_auto_decoder( 108 lzma_stream *strm, uint64_t memlimit, uint32_t flags); 109 lzma_ret lzma_alone_decoder( 110 lzma_stream *strm, uint64_t memlimit); 111 lzma_ret lzma_stream_buffer_decode( 112 uint64_t *memlimit, uint32_t flags, const lzma_allocator *allocator, 113 const uint8_t *in, size_t *in_pos, size_t in_size, 114 uint8_t *out, size_t *out_pos, size_t out_size); 115 116 lzma_ret lzma_stream_header_encode( 117 const lzma_stream_flags *options, uint8_t *out); 118 lzma_ret lzma_stream_footer_encode( 119 const lzma_stream_flags *options, uint8_t *out); 120 lzma_ret lzma_stream_header_decode( 121 lzma_stream_flags *options, const uint8_t *in); 122 lzma_ret lzma_stream_footer_decode( 123 lzma_stream_flags *options, const uint8_t *in); 124 lzma_ret lzma_stream_flags_compare( 125 const lzma_stream_flags *a, const lzma_stream_flags *b); 126 127 lzma_ret lzma_block_header_size(lzma_block *block); 128 lzma_ret lzma_block_header_encode( 129 const lzma_block *block, uint8_t *out); 130 lzma_ret lzma_block_header_decode(lzma_block *block, 131 const lzma_allocator *allocator, const uint8_t *in); 132 lzma_ret lzma_block_compressed_size( 133 lzma_block *block, lzma_vli unpadded_size); 134 lzma_vli lzma_block_unpadded_size(const lzma_block *block); 135 lzma_vli lzma_block_total_size(const lzma_block *block); 136 lzma_ret lzma_block_encoder( 137 lzma_stream *strm, lzma_block *block); 138 lzma_ret lzma_block_decoder( 139 lzma_stream *strm, lzma_block *block); 140 size_t lzma_block_buffer_bound(size_t uncompressed_size); 141 lzma_ret lzma_block_buffer_encode( 142 lzma_block *block, const lzma_allocator *allocator, 143 const uint8_t *in, size_t in_size, 144 uint8_t *out, size_t *out_pos, size_t out_size); 145 lzma_ret lzma_block_uncomp_encode(lzma_block *block, 146 const uint8_t *in, size_t in_size, 147 uint8_t *out, size_t *out_pos, size_t out_size); 148 lzma_ret lzma_block_buffer_decode( 149 lzma_block *block, const lzma_allocator *allocator, 150 const uint8_t *in, size_t *in_pos, size_t in_size, 151 uint8_t *out, size_t *out_pos, size_t out_size); 152 153 uint64_t lzma_index_memusage( 154 lzma_vli streams, lzma_vli blocks); 155 uint64_t lzma_index_memused(const lzma_index *i); 156 lzma_index * lzma_index_init(const lzma_allocator *allocator); 157 void lzma_index_end(lzma_index *i, const lzma_allocator *allocator); 158 lzma_ret lzma_index_append( 159 lzma_index *i, const lzma_allocator *allocator, 160 lzma_vli unpadded_size, lzma_vli uncompressed_size); 161 lzma_ret lzma_index_stream_flags( 162 lzma_index *i, const lzma_stream_flags *stream_flags); 163 uint32_t lzma_index_checks(const lzma_index *i); 164 lzma_ret lzma_index_stream_padding( 165 lzma_index *i, lzma_vli stream_padding); 166 lzma_vli lzma_index_stream_count(const lzma_index *i); 167 lzma_vli lzma_index_block_count(const lzma_index *i); 168 lzma_vli lzma_index_size(const lzma_index *i); 169 lzma_vli lzma_index_stream_size(const lzma_index *i); 170 lzma_vli lzma_index_total_size(const lzma_index *i); 171 lzma_vli lzma_index_file_size(const lzma_index *i); 172 lzma_vli lzma_index_uncompressed_size(const lzma_index *i); 173 void lzma_index_iter_init( 174 lzma_index_iter *iter, const lzma_index *i); 175 void lzma_index_iter_rewind(lzma_index_iter *iter); 176 lzma_bool lzma_index_iter_next( 177 lzma_index_iter *iter, lzma_index_iter_mode mode); 178 lzma_bool lzma_index_iter_locate( 179 lzma_index_iter *iter, lzma_vli target); 180 lzma_ret lzma_index_cat(lzma_index *dest, lzma_index *src, 181 const lzma_allocator *allocator); 182 lzma_index * lzma_index_dup( 183 const lzma_index *i, const lzma_allocator *allocator); 184 lzma_ret lzma_index_encoder( 185 lzma_stream *strm, const lzma_index *i); 186 lzma_ret lzma_index_decoder( 187 lzma_stream *strm, lzma_index **i, uint64_t memlimit); 188 lzma_ret lzma_index_buffer_encode(const lzma_index *i, 189 uint8_t *out, size_t *out_pos, size_t out_size); 190 lzma_ret lzma_index_buffer_decode(lzma_index **i, 191 uint64_t *memlimit, const lzma_allocator *allocator, 192 const uint8_t *in, size_t *in_pos, size_t in_size); 193 194 lzma_index_hash * lzma_index_hash_init( 195 lzma_index_hash *index_hash, const lzma_allocator *allocator); 196 void lzma_index_hash_end( 197 lzma_index_hash *index_hash, const lzma_allocator *allocator); 198 lzma_ret lzma_index_hash_append(lzma_index_hash *index_hash, 199 lzma_vli unpadded_size, lzma_vli uncompressed_size); 200 lzma_ret lzma_index_hash_decode(lzma_index_hash *index_hash, 201 const uint8_t *in, size_t *in_pos, size_t in_size); 202 lzma_vli lzma_index_hash_size( 203 const lzma_index_hash *index_hash); 204 205 uint64_t lzma_physmem(void); 206 uint32_t lzma_cputhreads(void); 207 208 209 lzma_ret lzma_EasyGetSize( 210 const void *src, size_t srclen, int64_t *size); 211 lzma_ret lzma_EasyDecode( 212 void *dest, size_t *destlen, const void *src, 213 size_t srclen, const lzma_allocator *allocator); 214 215 #ifdef __cplusplus 216 } 217 #endif 218 219 #endif /* CLIB_LZMA_PROTOS_H */