qemu/crypto/hashpriv.h
<<
>>
Prefs
   1/*
   2 * QEMU Crypto hash driver supports
   3 *
   4 * Copyright (c) 2024 Seagate Technology LLC and/or its Affiliates
   5 * Copyright (c) 2017 HUAWEI TECHNOLOGIES CO., LTD.
   6 *
   7 * Authors:
   8 *    Longpeng(Mike) <longpeng2@huawei.com>
   9 *
  10 * This work is licensed under the terms of the GNU GPL, version 2 or
  11 * (at your option) any later version.  See the COPYING file in the
  12 * top-level directory.
  13 *
  14 */
  15
  16#ifndef QCRYPTO_HASHPRIV_H
  17#define QCRYPTO_HASHPRIV_H
  18
  19#include "crypto/hash.h"
  20
  21typedef struct QCryptoHashDriver QCryptoHashDriver;
  22
  23struct QCryptoHashDriver {
  24    QCryptoHash *(*hash_new)(QCryptoHashAlgo alg, Error **errp);
  25    int (*hash_update)(QCryptoHash *hash,
  26                       const struct iovec *iov,
  27                       size_t niov,
  28                       Error **errp);
  29    int (*hash_finalize)(QCryptoHash *hash,
  30                         uint8_t **result,
  31                         size_t *resultlen,
  32                         Error **errp);
  33    void (*hash_free)(QCryptoHash *hash);
  34};
  35
  36extern QCryptoHashDriver qcrypto_hash_lib_driver;
  37
  38#ifdef CONFIG_AF_ALG
  39
  40#include "afalgpriv.h"
  41
  42extern QCryptoHashDriver qcrypto_hash_afalg_driver;
  43
  44#endif
  45
  46#endif
  47