Skip to content

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);
  • Family: Count and at accessors
  • Return type: const gln_provider_status_t*

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.

TypeNullabilityOwnership
const gln_provider_status_t*nullableborrowed

Parameters

NameDirectionTypeNullabilityOwnership
in_infoinputconst gln_interrupt_info_t*nullableborrowed
in_indexinputsize_tvaluevalue

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.

FieldMeaning
kindGLN_PROVIDER_STATUS_KIND_FINTS for rows exposed by these interrupt-info accessors.
code_or_nullFinTS status code from the interruption status entry.
subcode_or_nullNULL; FinTS interruption status rows do not expose a separate subcode through this view.
message_or_nullFinTS status message from the interruption status entry.
reference_or_nullFinTS reference segment when the status entry carries one; otherwise NULL.
provider_text_or_nullNULL; 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.

See Also