[#btck_NotificationInterfaceCallbacks]
= btck&lowbar;NotificationInterfaceCallbacks
:mrdocs:

A struct for holding the kernel notification callbacks&period; The user data pointer may be used to point to user&hyphen;defined structures to make processing the notifications easier&period;

== Synopsis

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

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

== Description

If user&lowbar;data&lowbar;destroy is provided, the kernel will automatically call this callback to clean up user&lowbar;data when the notification interface object is destroyed&period; If user&lowbar;data&lowbar;destroy is NULL, it is the user&apos;s responsibility to ensure that the user&lowbar;data outlives the kernel objects&period; Notifications can occur even as kernel objects are deleted, so care has to be taken to ensure safe unwinding&period;

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:btck_NotificationInterfaceCallbacks/block_tip.adoc[`block&lowbar;tip`] 
| The chain&apos;s tip was updated to the provided block entry&period;
| xref:btck_NotificationInterfaceCallbacks/fatal_error.adoc[`fatal&lowbar;error`] 
| An unrecoverable system error encountered by the library&period;
| xref:btck_NotificationInterfaceCallbacks/flush_error.adoc[`flush&lowbar;error`] 
| An error encountered when flushing data to disk&period;
| xref:btck_NotificationInterfaceCallbacks/header_tip.adoc[`header&lowbar;tip`] 
| A new best block header was added&period;
| xref:btck_NotificationInterfaceCallbacks/progress.adoc[`progress`] 
| Reports on current block synchronization progress&period;
| xref:btck_NotificationInterfaceCallbacks/user_data.adoc[`user&lowbar;data`] 
| Holds a user&hyphen;defined opaque structure that is passed to the notification 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_NotificationInterfaceCallbacks/user_data_destroy.adoc[`user&lowbar;data&lowbar;destroy`] 
| Frees the provided user data structure&period;
| xref:btck_NotificationInterfaceCallbacks/warning_set.adoc[`warning&lowbar;set`] 
| A warning issued by the kernel library during validation&period;
| xref:btck_NotificationInterfaceCallbacks/warning_unset.adoc[`warning&lowbar;unset`] 
| A previous condition leading to the issuance of a warning is no longer given&period;
|===



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