kcapi_cipher_decrypt_aio — decrypt data (asynchronous one shot)
int32_t kcapi_cipher_decrypt_aio ( | struct kcapi_handle * handle, |
struct iovec * iniov, | |
struct iovec * outiov, | |
uint32_t iovlen, | |
const uint8_t * iv, | |
int access) ; |
handle
[in] cipher handle
iniov
[in] head of scatter-gather list array holding the ciphertext
outiov
[out] head of scatter-gather list with the destination buffers for the plaintext
iovlen
[in] number of scatter-gather list entries
iv
[in] IV to be used for cipher operation
access
[in] kernel access type (KCAPI_ACCESS_HEURISTIC - use internal heuristic for fastest kernel access; KCAPI_ACCESS_VMSPLICE - use vmsplice access; KCAPI_ACCESS_SENDMSG - sendmsg access)
The individual scatter-gather list entries are processed with separate invocations of the the given cipher.
The memory should be aligned at the page boundary using posix_memalign(sysconf(_SC_PAGESIZE)), If it is not aligned at the page boundary, the vmsplice call may not send all data to the kernel.
The IV buffer must be exactly kcapi_cipher_ivsize
bytes in size.
return
number of bytes decrypted upon success;
a negative errno-style error code if an error occurred