[#btck_ValidationInterfaceCallbacks]
= btck&lowbar;ValidationInterfaceCallbacks
:mrdocs:

Holds the validation interface callbacks&period; The user data pointer may be used to point to user&hyphen;defined structures to make processing the validation callbacks easier&period; Note that these callbacks block any further validation execution when they are called&period;

== Synopsis

Declared in `&lt;kernel&sol;bitcoinkernel&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct btck&lowbar;ValidationInterfaceCallbacks;
----

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:btck_ValidationInterfaceCallbacks/block_checked.adoc[`block&lowbar;checked`] 
| Called when a new block has been fully validated&period; Contains the result of its validation&period;
| xref:btck_ValidationInterfaceCallbacks/block_connected.adoc[`block&lowbar;connected`] 
| Called when a block is valid and has now been connected to the best chain&period;
| xref:btck_ValidationInterfaceCallbacks/block_disconnected.adoc[`block&lowbar;disconnected`] 
| Called during a re&hyphen;org when a block has been removed from the best chain&period;
| xref:btck_ValidationInterfaceCallbacks/pow_valid_block.adoc[`pow&lowbar;valid&lowbar;block`] 
| Called when a new block extends the header chain and has a valid transaction and segwit merkle root&period;
| xref:btck_ValidationInterfaceCallbacks/user_data.adoc[`user&lowbar;data`] 
| Holds a user&hyphen;defined opaque structure that is passed to the validation interface callbacks&period; If user&lowbar;data&lowbar;destroy is also defined ownership of the user&lowbar;data is passed to the created context options and subsequently context&period;
| xref:btck_ValidationInterfaceCallbacks/user_data_destroy.adoc[`user&lowbar;data&lowbar;destroy`] 
| Frees the provided user data structure&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
