GALANTHUS / ABI FUNCTION REFERENCE
gln_get_bank_info_operation_capability
Declared in <galanthus/c_api/gln_capi.h>.
GLN_API gln_status_t GLN_CALL gln_get_bank_info_operation_capability(
const gln_bank_info_t* in_info,
const gln_bank_operation_capability_query_t* in_query,
gln_bank_operation_capability_t* out_capability,
gln_error_t* out_error_or_null);
Purpose
Answers whether a retrieved bank-info handle reports a specific bank operation as available for a specific application-level request kind.
Use this for bank-specific FinTS capability decisions after gln_retrieve_bank_info; it returns one value-shaped answer and keeps protocol-specific capability evidence internal.
Return
Returns GLN_OK on success and a non-OK gln_status_t value on failure.
| Type | Nullability | Ownership |
|---|---|---|
gln_status_t | value | value |
Parameters
| Name | Direction | Type | Nullability | Ownership |
|---|---|---|---|---|
in_info | input | const gln_bank_info_t* | nonnull | borrowed |
in_query | input | const gln_bank_operation_capability_query_t* | nonnull | borrowed |
out_capability | output | gln_bank_operation_capability_t* | nonnull | caller_allocated_output |
out_error_or_null | output | gln_error_t* | nullable | caller_allocated_output |
Query Contract
in_info, in_query, and out_capability are required. Passing NULL for any required pointer returns GLN_ERR_INVALID_ARG; only out_error_or_null may be NULL.
Set in_query->struct_size to sizeof(gln_bank_operation_capability_query_t) and out_capability->struct_size to sizeof(gln_bank_operation_capability_t). A size mismatch returns GLN_ERR_INVALID_ARG.
GLN_OK means the call produced a capability answer. Negative answers use support == GLN_BANK_OPERATION_SUPPORT_NOT_AVAILABLE with unavailability_reason set to a public reason enum.
Request Kinds
GLN_BANK_OPERATION_REQUEST_DEFAULT asks for broad operation availability.
GLN_BANK_OPERATION_REQUEST_IMMEDIATE and GLN_BANK_OPERATION_REQUEST_SCHEDULED are valid only for operations that expose application-level variants, currently transfer and batch-transfer operations.
Invalid operation/request-kind combinations are call failures, not negative capability answers.
Result Shape
Available answers use GLN_BANK_OPERATION_SUPPORT_AVAILABLE and GLN_BANK_OPERATION_UNAVAILABILITY_NONE.
Unavailable answers use the public unavailability enum; callers should not depend on provider-specific diagnostic details.
tan_requirement tells whether the operation is expected to require TAN authorization for the selected request shape. It is GLN_BANK_OPERATION_TAN_UNKNOWN when the bank data or broad DEFAULT query cannot produce a variant-specific answer.
selected_format_kind classifies the selected transfer/report format at a stable application level. selected_format_or_null may carry the provider format identifier when Galanthus has selected one.
The has_transaction_retention_days, has_max_entries_allowed, has_all_accounts_allowed, and has_batch_single_booking_allowed flags mark optional constraints that the caller can act on for the queried operation and request kind. Ignore the paired value when its has_* flag is 0.
selected_format_or_null and reason_message_or_null are borrowed from the bank-info result or static storage and are valid only while the owning result remains alive.