1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * QEMU Crypto cipher driver supports
- *
- * Copyright (c) 2017 HUAWEI TECHNOLOGIES CO., LTD.
- *
- * Authors:
- * Longpeng(Mike) <longpeng2@huawei.com>
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or
- * (at your option) any later version. See the COPYING file in the
- * top-level directory.
- *
- */
- #ifndef QCRYPTO_CIPHERPRIV_H
- #define QCRYPTO_CIPHERPRIV_H
- #include "qapi/qapi-types-crypto.h"
- typedef struct QCryptoCipherDriver QCryptoCipherDriver;
- struct QCryptoCipherDriver {
- int (*cipher_encrypt)(QCryptoCipher *cipher,
- const void *in,
- void *out,
- size_t len,
- Error **errp);
- int (*cipher_decrypt)(QCryptoCipher *cipher,
- const void *in,
- void *out,
- size_t len,
- Error **errp);
- int (*cipher_setiv)(QCryptoCipher *cipher,
- const uint8_t *iv, size_t niv,
- Error **errp);
- void (*cipher_free)(QCryptoCipher *cipher);
- };
- #ifdef CONFIG_AF_ALG
- #include "afalgpriv.h"
- extern QCryptoAFAlg *
- qcrypto_afalg_cipher_ctx_new(QCryptoCipherAlgorithm alg,
- QCryptoCipherMode mode,
- const uint8_t *key,
- size_t nkey, Error **errp);
- extern struct QCryptoCipherDriver qcrypto_cipher_afalg_driver;
- #endif
- #endif
|