Skip to content

C ABI reference for embedding the Galanthus shared library.

Scope

Galanthus exposes a v7 C ABI through a single public header:

#include <galanthus/c_api/gln_capi.h>

The public surface is the set of exported functions listed in ABI function index. The installed gln_capi.h header is the authority for signatures, struct layouts, default helpers, and ownership rules. The guide pages below explain the same surface in binding and banking-operation terms.

Header and Link

The ABI revision is exposed in two places:

  • GLN_API_VERSION in the installed header.
  • gln_get_api_version(), which returns the revision built into the loaded shared library.

Bindings should compare those values at load time and refuse to operate on a mismatch. gln_get_library_version() returns a human-readable build string for diagnostics only.

Pages

PagePurpose
ABI function indexExported function names grouped by family.
ConventionsVersioning, status codes, ownership, errors, interrupts, and threading.
Backend resultsEnvelope status, outcome, result kinds, typed views, capability probes, and resume ownership.
Getting startedMinimal C setup that opens and closes a backend handle.
Backend handlesOpen/close functions for FinTS, EBICS, Revolut, and Wise backend handles.
StoresState and continuation stores.
Key storeEBICS key-store vtable and bundled file-backed constructor.
ContinuationsContinuation persistence, inspection, description, and lifetime.
Secretsgln_secret_t creation and destruction.
PayloadsConfiguration, request, and result data shapes.
FinTSFinTS backend setup, supported operations, bank info, holdings, and action-required flow.
EBICSEBICS backend setup, key-store dependency, and supported submission/read operations.
RevolutRevolut backend, token-store, OAuth, recipients, and payment drafts.
WiseWise backend, token-store, and token setup.
Accounts, balances, and transactionsTyped read-operation request and result handles.
TAN and resumeTAN modes, media, action-required envelopes, and gln_resume_continuation.
TransfersSingle, instant, and batch transfer request/result contracts.
Direct debitsSingle and batch SEPA direct-debit request/result contracts.
Standing ordersList, add, modify, and delete standing-order contracts.
FFI examplesBinding patterns for C and non-C runtimes.
TroubleshootingIntegration failure modes for the current ABI.

Threading

Distinct handles may be used from distinct threads concurrently. Confine each handle, secret, continuation, and result envelope to a single thread. gln_init_runtime and gln_shutdown_runtime must not interleave with operations.

Compile and run against a matching installed header and shared library. Bindings must treat a header/library ABI mismatch as unsupported.

See Also

  • Binding reference: docs/bindings/ source docs for Python, TypeScript, C++, and Lua binding guides for this C ABI.
  • CLI reference - command-line interface for gln.