データ圧縮・解凍モジュールの内部ヘッダー。
プラットフォームごとに異なる圧縮 API を共通インターフェースで抽象化します。
| OS | 使用ライブラリ | フォーマット |
|---|---|---|
| Linux | zlib (deflate/inflate, windowBits = -15) | raw DEFLATE |
| Windows | Compression API (MSZIP | COMPRESS_RAW) |
両 OS とも raw DEFLATE (RFC 1951) を出力するため、クロスプラットフォーム互換 通信が可能です。
圧縮ペイロードのフォーマット:
[元サイズ: uint32_t (ネットワークバイトオーダー)] [raw DEFLATE データ]c-modernization-kit sample team
1.0.0
2026/03/05
Copyright (C) CompanyName, Ltd. 2026. All rights reserved.
int potr_compress ( uint8_t *dst, size_t *dst_len, const uint8_t *src, size_t src_len )データを圧縮します。
成功時は 0、失敗時は -1 を返します。
int potr_decompress ( uint8_t *dst, size_t *dst_len, const uint8_t *src, size_t src_len )圧縮データを解凍します。
成功時は 0、失敗時は -1 を返します。
#define POTR_COMPRESS_HEADER_SIZE 4U圧縮ペイロード先頭に付加する元サイズフィールドのバイト数。
#define POTR_COMPRESS_BUF_SIZE (POTR_COMPRESS_HEADER_SIZE + POTR_MAX_MESSAGE_SIZE + 64U)圧縮後の最大バッファサイズ (元データ + ヘッダー + DEFLATE オーバーヘッド)。