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