+/* TODO: Deprecated stuff to delete when shared library version is bumped up */
+
+#include "wimlib.h"
+#include "wimlib/compiler.h"
+
+WIMLIBAPI int
+wimlib_lzx_set_default_params(const struct wimlib_lzx_params_old *params)
+{
+ return wimlib_set_default_compressor_params(WIMLIB_COMPRESSION_TYPE_LZX,
+ (const struct wimlib_compressor_params_header*)params);
+}
+
+WIMLIBAPI int
+wimlib_lzx_alloc_context(const struct wimlib_lzx_params_old *params,
+ struct wimlib_lzx_context_old **ctx_pp)
+{
+ wimlib_lzx_free_context(*ctx_pp);
+ *ctx_pp = NULL;
+ return wimlib_create_compressor(WIMLIB_COMPRESSION_TYPE_LZX,
+ 32768,
+ (const struct wimlib_compressor_params_header*)params,
+ (struct wimlib_compressor**)ctx_pp);
+}
+
+WIMLIBAPI void
+wimlib_lzx_free_context(struct wimlib_lzx_context_old *ctx)
+{
+ wimlib_free_compressor((struct wimlib_compressor*)ctx);
+}
+
+WIMLIBAPI unsigned
+wimlib_lzx_compress2(const void *udata, unsigned ulen, void *cdata,
+ struct wimlib_lzx_context_old *ctx)
+{
+ return wimlib_compress(udata, ulen, cdata, ulen - 1,
+ (struct wimlib_compressor*)ctx);
+}
+
+static unsigned
+do_compress(const void *udata, unsigned ulen, void *cdata, int ctype)
+{
+ struct wimlib_compressor *c;
+ unsigned clen;
+
+ if (wimlib_create_compressor(ctype, 32768, NULL, &c))
+ return -1;
+ clen = wimlib_compress(udata, ulen, cdata, ulen - 1, c);
+ wimlib_free_compressor(c);
+ return clen;
+}
+
+WIMLIBAPI unsigned
+wimlib_lzx_compress(const void *udata, unsigned ulen, void *cdata)
+{
+ return do_compress(udata, ulen, cdata, WIMLIB_COMPRESSION_TYPE_LZX);
+}
+
+WIMLIBAPI unsigned
+wimlib_xpress_compress(const void *udata, unsigned ulen, void *cdata)
+{
+ return do_compress(udata, ulen, cdata, WIMLIB_COMPRESSION_TYPE_XPRESS);
+}
+
+static int
+do_decompress(const void *cdata, unsigned clen,
+ void *udata, unsigned ulen, int ctype)
+{
+ int ret;
+ struct wimlib_decompressor *dec;
+
+ if (wimlib_create_decompressor(ctype, 32768, NULL, &dec))
+ return -1;
+ ret = wimlib_decompress(cdata, clen, udata, ulen, dec);
+ wimlib_free_decompressor(dec);
+ return ret;
+}
+
+WIMLIBAPI int
+wimlib_lzx_decompress(const void *cdata, unsigned clen,
+ void *udata, unsigned ulen)
+{
+ return do_decompress(cdata, clen, udata, ulen, WIMLIB_COMPRESSION_TYPE_LZX);
+}
+
+
+WIMLIBAPI int
+wimlib_xpress_decompress(const void *cdata, unsigned clen,
+ void *udata, unsigned ulen)
+{
+ return do_decompress(cdata, clen, udata, ulen, WIMLIB_COMPRESSION_TYPE_XPRESS);
+}