kcapi_cipher_decrypt_aio
Prev | Asynchronous Symmetric Cipher API - One Shot | Next

## Name

kcapi_cipher_decrypt_aio — decrypt data (asynchronous one shot)

## Synopsis

`ssize_t kcapi_cipher_decrypt_aio (` | struct kcapi_handle * handle,
| struct iovec * iniov,
| struct iovec * outiov,
| size_t iovlen,
| const uint8_t * iv,
| int access`)`;

## Arguments

`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)

## Description

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

Prev | Up | Next
kcapi_cipher_encrypt_aio | Home | Synchronous Symmetric Cipher API - Stream