Skip to content

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);
  • Family: Typed bank info accessors
  • Return type: gln_status_t

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.

TypeNullabilityOwnership
gln_status_tvaluevalue

Parameters

NameDirectionTypeNullabilityOwnership
in_infoinputconst gln_bank_info_t*nonnullborrowed
in_queryinputconst gln_bank_operation_capability_query_t*nonnullborrowed
out_capabilityoutputgln_bank_operation_capability_t*nonnullcaller_allocated_output
out_error_or_nulloutputgln_error_t*nullablecaller_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.

See Also