The arguments are specific to the crypto engine. More information about the progress information returned from the GnuPG engine can be found in the GnuPG source code in the file doc/DETAILS in the section PROGRESS.
gpgme_set_progress_cbsets the function that is used when progress information about a cryptographic operation is available. The function progfunc needs to implemented by the user, and whenever it is called, it is called with its first argument being hook_value. By default, no progress callback function is set.
Setting a callback function allows an interactive program to display progress information about a long operation to the user.
The user can disable the use of a progress callback function by calling
gpgme_set_progress_cbwith progfunc being
gpgme_get_progress_cbreturns the function that is used to inform the user about the progress made in *progfunc, and the first argument for this function in *hook_value. If no progress callback is set, or ctx is not a valid pointer,
NULLis returned in both variables.
progfunc or hook_value can be
NULL. In this case, the corresponding value will not be returned.