/*! \file */ /******************************************* * * * File auto-generated by `::safer_ffi`. * * * * Do not manually edit this file. * * * *******************************************/ #ifndef __RUST_BDK_FFI__ #define __RUST_BDK_FFI__ #ifdef __cplusplus extern "C" { #endif #include #include typedef struct BlockchainConfig BlockchainConfig_t; BlockchainConfig_t * new_electrum_config ( char const * url, char const * socks5, int16_t retry, int16_t timeout); void free_blockchain_config ( BlockchainConfig_t * blockchain_config); typedef struct DatabaseConfig DatabaseConfig_t; typedef struct OpaqueWallet OpaqueWallet_t; typedef struct { OpaqueWallet_t * ok; char * * err; } FfiResult_OpaqueWallet_t; FfiResult_OpaqueWallet_t new_wallet_result ( char const * descriptor, char const * change_descriptor, BlockchainConfig_t const * blockchain_config, DatabaseConfig_t const * database_config); void free_wallet_result ( FfiResult_OpaqueWallet_t wallet_result); typedef struct { void * ok; char * * err; } FfiResult_void_t; FfiResult_void_t sync_wallet ( OpaqueWallet_t const * opaque_wallet); typedef struct { char * * ok; char * * err; } FfiResult_char_ptr_t; FfiResult_char_ptr_t new_address ( OpaqueWallet_t const * opaque_wallet); typedef struct { char * txid; uint32_t vout; } OutPoint_t; typedef struct { uint64_t value; char * script_pubkey; } TxOut_t; typedef struct { OutPoint_t outpoint; TxOut_t txout; uint16_t keychain; } LocalUtxo_t; /** \brief * Same as [`Vec`][`rust::Vec`], but with guaranteed `#[repr(C)]` layout */ typedef struct { LocalUtxo_t * ptr; size_t len; size_t cap; } Vec_LocalUtxo_t; typedef struct { Vec_LocalUtxo_t ok; char * * err; } FfiResultVec_LocalUtxo_t; FfiResultVec_LocalUtxo_t list_unspent ( OpaqueWallet_t const * opaque_wallet); void free_unspent_result ( FfiResultVec_LocalUtxo_t unspent_result); DatabaseConfig_t * new_memory_config (void); DatabaseConfig_t * new_sled_config ( char const * path, char const * tree_name); void free_database_config ( DatabaseConfig_t * database_config); void free_string_result ( FfiResult_char_ptr_t string_result); void free_void_result ( FfiResult_void_t void_result); /** \brief * Free a Rust-allocated string */ void free_string ( char * string); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __RUST_BDK_FFI__ */