porter/libsrc/porter/infra/compress/compress_linux.c

1 ファイル

1.1 porter/libsrc/porter/infra/compress/compress_linux.c

Linux 向け圧縮・解凍モジュール (zlib)。

zlib の deflate/inflate を raw DEFLATE (windowBits = -15) モードで使用します。
Windows 実装 (MSZIP | COMPRESS_RAW) と同一フォーマットを出力するため、 クロスプラットフォーム通信に対応します。

1.1.1 作者

c-modernization-kit sample team

1.1.2 バージョン

1.0.0

1.1.3 日付

2026/03/05

1.1.4 著作権

Copyright (C) CompanyName, Ltd. 2026. All rights reserved.

2 関数

2.1 potr_compress

int potr_compress ( uint8_t *dst, size_t *dst_len, const uint8_t *src, size_t src_len )

データを圧縮します。

2.1.1 引数

  • dst [out] 圧縮後データを格納するバッファ。 先頭 4 バイトに元サイズ (NBO) が書き込まれます。
  • dst_len [in,out] 入力: dst のバッファサイズ。 出力: 書き込んだバイト数。
  • src [in] 圧縮前データへのポインタ。
  • src_len [in] 圧縮前データのバイト数。

2.1.2 戻り値

成功時は 0、失敗時は -1 を返します。

2.2 potr_decompress

int potr_decompress ( uint8_t *dst, size_t *dst_len, const uint8_t *src, size_t src_len )

圧縮データを解凍します。

2.2.1 引数

  • dst [out] 解凍後データを格納するバッファ。
  • dst_len [in,out] 入力: dst のバッファサイズ。 出力: 書き込んだバイト数。
  • src [in] 圧縮後データへのポインタ (先頭 4 バイトは元サイズ)。
  • src_len [in] 圧縮後データのバイト数 (ヘッダーを含む)。

2.2.2 戻り値

成功時は 0、失敗時は -1 を返します。