Lines Matching refs:ctx
28 struct openssl_hash_ctx *ctx = (void *)_ctx;
31 ret = EVP_DigestInit_ex(ctx->md_ctx, ctx->md, NULL);
38 struct openssl_hash_ctx *ctx = (void *)_ctx;
41 ret = EVP_DigestUpdate(ctx->md_ctx, data, size);
47 struct openssl_hash_ctx *ctx = (void *)_ctx;
50 ret = EVP_DigestFinal_ex(ctx->md_ctx, digest, NULL);
56 struct openssl_hash_ctx *ctx = (void *)_ctx;
63 EVP_MD_CTX_destroy(ctx->md_ctx);
64 free(ctx);
70 struct openssl_hash_ctx *ctx;
72 ctx = libfsverity_zalloc(sizeof(*ctx));
73 if (!ctx)
76 ctx->base.alg = alg;
77 ctx->base.init = openssl_digest_init;
78 ctx->base.update = openssl_digest_update;
79 ctx->base.final = openssl_digest_final;
80 ctx->base.free = openssl_digest_ctx_free;
86 ctx->md_ctx = EVP_MD_CTX_create();
87 if (!ctx->md_ctx) {
92 ctx->md = md;
96 return &ctx->base;
99 EVP_MD_CTX_destroy(ctx->md_ctx);
101 free(ctx);
117 void libfsverity_hash_init(struct hash_ctx *ctx)
119 ctx->init(ctx);
122 void libfsverity_hash_update(struct hash_ctx *ctx, const void *data,
125 ctx->update(ctx, data, size);
128 void libfsverity_hash_final(struct hash_ctx *ctx, u8 *digest)
130 ctx->final(ctx, digest);
134 void libfsverity_hash_full(struct hash_ctx *ctx, const void *data, size_t size,
137 libfsverity_hash_init(ctx);
138 libfsverity_hash_update(ctx, data, size);
139 libfsverity_hash_final(ctx, digest);
142 void libfsverity_free_hash_ctx(struct hash_ctx *ctx)
144 if (ctx)
145 ctx->free(ctx);