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