fix(core/abi): report_phase joins its siblings behind the quic cfg — the C header parses again

The new punktfunk_connection_report_phase lacked the #[cfg(feature = "quic")]
its connection-fn siblings carry, so cbindgen emitted it OUTSIDE the guarded
region that declares the opaque PunktfunkConnection — the generated header
stopped compiling as C (CI's harness caught it; my local harness failure was
a pre-existing macOS linker issue that masked this distinct cause — full-suite
comparison attributed the wrong root).

Verified: the harness compiles and passes in the amd64 CI-image container.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-31 00:38:31 +02:00
co-authored by Claude Fable 5
parent fa822744ff
commit ccf5c922ee
2 changed files with 3 additions and 0 deletions
+1
View File
@@ -4021,6 +4021,7 @@ pub unsafe extern "C" fn punktfunk_connection_report_decode_us(
/// # Safety
/// `c` is an opaque handle from a `*_new`/`*_pair` the caller has not yet freed, or null (an
/// error, not UB).
#[cfg(feature = "quic")]
#[no_mangle]
pub unsafe extern "C" fn punktfunk_connection_report_phase(
c: *const PunktfunkConnection,
+2
View File
@@ -2783,6 +2783,7 @@ PunktfunkStatus punktfunk_connection_report_decode_us(const PunktfunkConnection
uint32_t us);
#endif
#if defined(PUNKTFUNK_FEATURE_QUIC)
// Report this client's display-latch grid so the host can phase-lock its capture tick
// (design/phase-locked-capture.md). `next_latch_host_ns` must already be host clock — convert
// with the connection's clock offset (`T_host = T_client + offset`). Fire-and-forget; call ~1 Hz
@@ -2796,6 +2797,7 @@ PunktfunkStatus punktfunk_connection_report_phase(const PunktfunkConnection *c,
uint32_t latch_period_ns,
uint32_t uncertainty_ns,
uint32_t arrival_lead_ns);
#endif
#if defined(PUNKTFUNK_FEATURE_QUIC)
// Whether [`punktfunk_connection_report_decode_us`] is worth calling this session: writes 1 to