digest_final
crypto_digest_final_t digest_final;
digest_final.df_session = session_p->k_session;
digest_final.df_digestlen = *pulDigestLen;
digest_final.df_digestbuf = (char *)pDigest;
while ((r = ioctl(kernel_fd, CRYPTO_DIGEST_FINAL, &digest_final)) < 0) {
rv = crypto2pkcs11_error_number(digest_final.df_return_value);
*pulDigestLen = digest_final.df_digestlen;
int digest_final(crypto_op_t *op, size_t dummy);
.tf_final = digest_final
return (digest_final(dev, ARG, mode, rval));
if (digest_ops->digest_final != NULL)
dprov_digest_ops.digest_final = NULL;
(KCF_PROV_DIGEST_OPS(pd) && KCF_PROV_DIGEST_OPS(pd)->digest_final) ? \
KCF_PROV_DIGEST_OPS(pd)->digest_final(ctx, digest, req) : \
int (*digest_final)(crypto_ctx_t *, crypto_data_t *,