Lines Matching refs:preq

303 static int hmac_export_ahash(struct ahash_request *preq, void *out)  in hmac_export_ahash()  argument
305 return crypto_ahash_export(ahash_request_ctx(preq), out); in hmac_export_ahash()
308 static int hmac_import_ahash(struct ahash_request *preq, const void *in) in hmac_import_ahash() argument
310 struct crypto_ahash *tfm = crypto_ahash_reqtfm(preq); in hmac_import_ahash()
312 struct ahash_request *req = ahash_request_ctx(preq); in hmac_import_ahash()
318 static int hmac_export_core_ahash(struct ahash_request *preq, void *out) in hmac_export_core_ahash() argument
320 return crypto_ahash_export_core(ahash_request_ctx(preq), out); in hmac_export_core_ahash()
323 static int hmac_import_core_ahash(struct ahash_request *preq, const void *in) in hmac_import_core_ahash() argument
325 struct crypto_ahash *tfm = crypto_ahash_reqtfm(preq); in hmac_import_core_ahash()
327 struct ahash_request *req = ahash_request_ctx(preq); in hmac_import_core_ahash()
333 static int hmac_init_ahash(struct ahash_request *preq) in hmac_init_ahash() argument
335 struct crypto_ahash *tfm = crypto_ahash_reqtfm(preq); in hmac_init_ahash()
338 return hmac_import_ahash(preq, &tctx->pads[0]); in hmac_init_ahash()
341 static int hmac_update_ahash(struct ahash_request *preq) in hmac_update_ahash() argument
343 struct ahash_request *req = ahash_request_ctx(preq); in hmac_update_ahash()
345 ahash_request_set_callback(req, ahash_request_flags(preq), in hmac_update_ahash()
346 preq->base.complete, preq->base.data); in hmac_update_ahash()
347 if (ahash_request_isvirt(preq)) in hmac_update_ahash()
348 ahash_request_set_virt(req, preq->svirt, NULL, preq->nbytes); in hmac_update_ahash()
350 ahash_request_set_crypt(req, preq->src, NULL, preq->nbytes); in hmac_update_ahash()
354 static int hmac_finup_finish(struct ahash_request *preq, unsigned int mask) in hmac_finup_finish() argument
356 struct crypto_ahash *tfm = crypto_ahash_reqtfm(preq); in hmac_finup_finish()
357 struct ahash_request *req = ahash_request_ctx(preq); in hmac_finup_finish()
363 ahash_request_set_callback(req, ahash_request_flags(preq) & ~mask, in hmac_finup_finish()
364 preq->base.complete, preq->base.data); in hmac_finup_finish()
365 ahash_request_set_virt(req, preq->result, preq->result, ds); in hmac_finup_finish()
373 struct ahash_request *preq = data; in hmac_finup_done() local
378 err = hmac_finup_finish(preq, CRYPTO_TFM_REQ_MAY_SLEEP); in hmac_finup_done()
383 ahash_request_complete(preq, err); in hmac_finup_done()
386 static int hmac_finup_ahash(struct ahash_request *preq) in hmac_finup_ahash() argument
388 struct ahash_request *req = ahash_request_ctx(preq); in hmac_finup_ahash()
390 ahash_request_set_callback(req, ahash_request_flags(preq), in hmac_finup_ahash()
391 hmac_finup_done, preq); in hmac_finup_ahash()
392 if (ahash_request_isvirt(preq)) in hmac_finup_ahash()
393 ahash_request_set_virt(req, preq->svirt, preq->result, in hmac_finup_ahash()
394 preq->nbytes); in hmac_finup_ahash()
396 ahash_request_set_crypt(req, preq->src, preq->result, in hmac_finup_ahash()
397 preq->nbytes); in hmac_finup_ahash()
399 hmac_finup_finish(preq, 0); in hmac_finup_ahash()
402 static int hmac_digest_ahash(struct ahash_request *preq) in hmac_digest_ahash() argument
404 return hmac_init_ahash(preq) ?: in hmac_digest_ahash()
405 hmac_finup_ahash(preq); in hmac_digest_ahash()