プログラムで zlib、lzma、lzo、および bzip2 圧縮アルゴリズムを使用できるようにしたいと考えています。
複数のアルゴリズム (複数の暗号化モードとアルゴリズムをサポートする libmcrypt など) の操作を簡素化する C 用の圧縮ライブラリはありますか?
このようなものを期待しています:
struct compressor c;
universal_compressor_init(&c, "lzma", 7 /* compression level */);
universal_compressor_compress(&c, inputbuf, inputsize, outputbuf, &outputsize);
universal_compressor_save_state(&c, statebuf, &statesize);
注:これは zip/rar/7z/tar/cpio やその他のアーカイブ形式に関するものではなく、生のバッファの圧縮に関するものです。圧縮されたネットワーク プロトコルや、圧縮されたブロック デバイス ( cloopなど) へのランダム アクセスについて考えてみてください。