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
  31extern void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm 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
  40extern QCryptoAFAlg *
  41qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg,
  42                           const uint8_t *key, size_t nkey,
  43                           Error **errp);
  44extern QCryptoHmacDriver qcrypto_hmac_afalg_driver;
  45
  46#endif
  47
  48#endif
  49