Document of c-modernization-kit (porter) 1.0.0

Loading...
Searching...
No Matches
Macros
porter_const.h File Reference

通信ライブラリの定数ファイル。 More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | POTR_SEND_COMPRESS 0x0001U
| メッセージを圧縮して送信します。圧縮後のサイズが元のサイズ以上の場合は自動的に非圧縮で送信します。
#define | POTR_SEND_BLOCKING 0x0002U
| ブロッキング送信を行います。0 を指定するとノンブロッキング送信を行います。
#define | POTR_SUCCESS 0
| 成功の戻り値を表す定数。
#define | POTR_ERROR -1
| 失敗の戻り値を表す定数。
#define | POTR_ERROR_DISCONNECTED 1
| TCP 全 path 切断中に potrSend() を呼んだ場合の戻り値。
#define | POTR_FLAG_DATA 0x0001U
| データパケット (パックコンテナ) であることを示すフラグ。常に設定される。
#define | POTR_FLAG_NACK 0x0002U
| 再送要求パケットであることを示すフラグ。ack_num に要求通番を格納する。
#define | POTR_FLAG_PING 0x0004U
| ヘルスチェック要求パケットであることを示すフラグ。ペイロードなし。
#define | POTR_FLAG_REJECT 0x0008U
| 再送不能通知パケットであることを示すフラグ。ack_num に再送不能な通番を格納する。
#define | POTR_FLAG_FIN 0x0010U
| 正常終了通知パケットであることを示すフラグ。送信者が potrCloseService 時に送出し、受信者は即座に DISCONNECTED へ遷移する。ペイロードなし。
#define | POTR_FLAG_ENCRYPTED 0x0020U
| AES-256-GCM 認証タグが付与されていることを示す外側パケットフラグ。 POTR_FLAG_DATA と組み合わせる場合: [ヘッダー 32B][暗号文: packed_len B][GCM 認証タグ: 16B]。 単独で使用する場合 (PING/NACK/REJECT/FIN): ペイロードなし (平文 0B) の GCM 認証タグのみ (16B) を格納する。[ヘッダー 32B][GCM 認証タグ: 16B]。 いずれの場合もヘッダー全体 (32B) が AAD として認証される。 Nonce (12B) = session_id (4B NBO) + flags (2B NBO) + seq_or_ack_num (4B NBO) + padding (2B 0x00)。 flags には本フラグを含んだ実際の送信フラグ値を使用する。 seq_or_ack_num は DATA/PING/FIN の場合 seq_num、NACK/REJECT の場合 ack_num。
#define | POTR_FLAG_MORE_FRAG 0x0001U
| 後続フラグメントが存在することを示すペイロードエレメントフラグ。メッセージが複数ペイロードエレメントに分割された場合、最終フラグメント以外に設定する。
#define | POTR_FLAG_COMPRESSED 0x0002U
| ペイロードが圧縮されていることを示すペイロードエレメントフラグ。圧縮はメッセージ単位で行い、全フラグメントのペイロードエレメントに設定する。先頭 4 バイトが元サイズ (NBO)、続くデータが raw DEFLATE。
#define | POTR_DEFAULT_WINDOW_SIZE 16U
| デフォルトウィンドウサイズ (パケット数)。
#define | POTR_DEFAULT_MAX_PAYLOAD 1400U
| デフォルト最大ペイロード長 (バイト)。
#define | POTR_DEFAULT_TTL 1U
| デフォルトマルチキャスト TTL。
#define | POTR_DEFAULT_HEALTH_INTERVAL_MS 0U
| デフォルトヘルスチェック送信間隔 (ミリ秒)。0 = 無効。
#define | POTR_DEFAULT_HEALTH_TIMEOUT_MS 0U
| デフォルトヘルスチェックタイムアウト (ミリ秒)。0 = 無効。
#define | POTR_DEFAULT_PACK_WAIT_MS 0U
| デフォルトパッキング待ち時間 (ミリ秒)。0 = 即時送信。
#define | POTR_DEFAULT_RECONNECT_INTERVAL_MS 5000U
| SENDER 自動再接続間隔のデフォルト (ミリ秒)。TCP 通信種別 (POTR_TYPE_TCP / POTR_TYPE_TCP_BIDIR) のみ有効。
#define | POTR_DEFAULT_CONNECT_TIMEOUT_MS 10000U
| SENDER TCP 接続タイムアウトのデフォルト (ミリ秒)。0 = OS デフォルト。TCP 通信種別のみ有効。
#define | POTR_CRYPTO_KEY_SIZE 32U
| AES-256-GCM 鍵サイズ (バイト)。設定ファイルの encrypt_key に 64 文字 hex で指定する。
#define | POTR_CRYPTO_NONCE_SIZE 12U
| AES-256-GCM ノンスサイズ (バイト)。session_id (4B NBO) + flags (2B NBO) + seq_or_ack_num (4B NBO) + padding (2B 0x00) で構成する。
#define | POTR_CRYPTO_TAG_SIZE 16U
| AES-256-GCM 認証タグサイズ (バイト)。暗号文の直後に付加する。
#define | POTR_MAX_ADDR_LEN 64U
| アドレス文字列の最大長 (バイト、終端 NUL を含む)。
#define | POTR_MAX_PAYLOAD 65507U
| ペイロードの最大長 (バイト)。UDP 最大ペイロード (65535 - IP20 - UDP8)。max_payload 設定値のバリデーション上限として使用する。
#define | POTR_MAX_WINDOW_SIZE 256U
| ウィンドウサイズの最大値 (パケット数)。window_size 設定値のバリデーション上限として使用する。
#define | POTR_MAX_SERVICES 64U
| config_list_service_ids() の初期バッファ容量。サービス数がこれを超えた場合は realloc で自動拡張する。
#define | POTR_MAX_MESSAGE_SIZE 65535U
| 1 回の potrSend で送信できる最大メッセージ長 (バイト) のデフォルト値。設定ファイルの max_message_size で変更可能。フラグメント化により max_payload を超えるメッセージも送受信できる。
#define | POTR_SEND_QUEUE_DEPTH 1024U
| 非同期送信キューの最大エントリ数のデフォルト値。設定ファイルの send_queue_depth で変更可能。メッセージがフラグメント化される場合、1 メッセージが複数エントリを占有する。
#define | POTR_PAYLOAD_ELEM_HDR_SIZE 6U
| パックコンテナ内ペイロードエレメントのヘッダーサイズ (バイト)。flags (2): POTR_FLAG_MORE_FRAG / POTR_FLAG_COMPRESSED を格納 + payload_len (4): uint32_t (NBO)。通番は外側パケットで管理するためペイロードエレメントには含まない。
#define | POTR_MAX_PATH 4U
| マルチパスの最大パス数。

## Detailed Description

通信ライブラリの定数ファイル。

Author
  c-modernization-kit sample team

Date
  2026/03/04

Version
  1.0.0

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

Definition in file porter_const.h.