GALANTHUS / ABI FUNCTION REFERENCE
gln_get_interrupt_info_provider_status_at
Declared in <galanthus/c_api/gln_capi.h>.
GLN_API const gln_provider_status_t* GLN_CALL gln_get_interrupt_info_provider_status_at(
const gln_interrupt_info_t* in_info,
size_t in_index);
Purpose
Returns the provider-status row at in_index from an interrupt info handle.
Rows attached to current interrupt info records are FinTS-shaped gln_provider_status_t views populated from the status entries that accompanied the interruption.
Return
Returns the borrowed row or entry at in_index, or NULL when the handle is NULL or the index is out of range.
| Type | Nullability | Ownership |
|---|---|---|
const gln_provider_status_t* | nullable | borrowed |
Parameters
| Name | Direction | Type | Nullability | Ownership |
|---|---|---|---|---|
in_info | input | const gln_interrupt_info_t* | nullable | borrowed |
in_index | input | size_t | value | value |
Provider Status Row Semantics
These accessors read FinTS status rows attached to an action-required interrupt info object. TAN-required, decoupled-pending, and VoP-confirmation interrupts can carry these rows when the interruption record included FinTS statuses.
| Field | Meaning |
|---|---|
kind | GLN_PROVIDER_STATUS_KIND_FINTS for rows exposed by these interrupt-info accessors. |
code_or_null | FinTS status code from the interruption status entry. |
subcode_or_null | NULL; FinTS interruption status rows do not expose a separate subcode through this view. |
message_or_null | FinTS status message from the interruption status entry. |
reference_or_null | FinTS reference segment when the status entry carries one; otherwise NULL. |
provider_text_or_null | NULL; the FinTS interruption provider-status view does not attach an additional provider-text field. |
Use gln_get_interrupt_info_provider_status_count as the exclusive upper bound for gln_get_interrupt_info_provider_status_at. A null, zero-initialized, or detail-less interrupt info yields count 0 and row pointer NULL.
Provider Status Row Lifetime
Rows returned by gln_get_interrupt_info_provider_status_at are borrowed from the interrupt detail. The row object and every const char* field in it remain valid only while that interrupt detail remains alive.
For interrupt info borrowed through gln_get_backend_result_interrupt_info, the detail remains alive until gln_destroy_backend_result releases the parent envelope.
Notes
Passing NULL for in_info is allowed and returns NULL.
A zero-initialized or otherwise detail-less interrupt info returns NULL.
Indexes are zero-based. The accessor returns NULL when in_index >= gln_get_interrupt_info_provider_status_count(in_info).
The returned row is borrowed from the interrupt detail and must not be released directly. Its const char* fields are borrowed from the same detail; copy them before destroying the backend result envelope that owns the interrupt info.
When the interrupt info came from gln_get_backend_result_interrupt_info, the returned row remains valid until gln_destroy_backend_result releases the parent backend result envelope.