通番管理モジュールの内部ヘッダー。
More...
#include <stdint.h>
Go to the source code of this file.
|
| void | seqnum_init (uint32_t *seq, uint32_t initial) |
| | 通番を初期化します。
|
| uint32_t | seqnum_next (uint32_t *seq) |
| | 通番を 1 進めて次の値を返します。
|
| int | seqnum_is_newer (uint32_t a, uint32_t b) |
| | 通番 a が通番 b より新しいかどうかを判定します。
|
| int | seqnum_in_window (uint32_t seq, uint32_t base, uint16_t window_size) |
| | 通番 seq がウィンドウ [base, base + window_size) に含まれるか判定します。
|
通番管理モジュールの内部ヘッダー。
- 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 seqnum.h.
◆ seqnum_init()
| void seqnum_init |
( |
uint32_t * | seq, |
|
|
uint32_t | initial ) |
|
extern |
通番を初期化します。
- Parameters
-
| [out] | seq | 初期化する通番へのポインタ。 |
| [in] | initial | 初期値。 |
Definition at line 26 of file seqnum.c.
◆ seqnum_next()
| uint32_t seqnum_next |
( |
uint32_t * | seq | ) |
|
|
extern |
通番を 1 進めて次の値を返します。
- Parameters
-
- Returns
- インクリメント後の通番。seq が NULL の場合は 0 を返します。
uint32_t の最大値に達した場合は 0 に折り返します。
Definition at line 45 of file seqnum.c.
◆ seqnum_is_newer()
| int seqnum_is_newer |
( |
uint32_t | a, |
|
|
uint32_t | b ) |
|
extern |
通番 a が通番 b より新しいかどうかを判定します。
- Parameters
-
| [in] | a | 比較対象の通番 A。 |
| [in] | b | 比較対象の通番 B。 |
- Returns
- a が b より新しい場合は 1、そうでない場合は 0 を返します。
uint32_t 折り返しを考慮した比較を行います。
差が UINT32_MAX / 2 以下の場合に「a が新しい」と判定します。
Definition at line 66 of file seqnum.c.
◆ seqnum_in_window()
| int seqnum_in_window |
( |
uint32_t | seq, |
|
|
uint32_t | base, |
|
|
uint16_t | window_size ) |
|
extern |