kcapi_cipher_stream_init_dec - Man Page

start a decryption operation (stream)

Synopsis

ssize_t kcapi_cipher_stream_init_dec(struct kcapi_handle * handle, const uint8_t * iv, struct iovec * iov, size_t iovlen);

Arguments

handle

[in] cipher handle

iv

[in] IV to be used for cipher operation

iov

[in] scatter/gather list with data to be encrypted​. This is the pointer to the first iov entry if an array of iov entries is supplied​. See sendmsg(2) for details on how iov is to be used​. This pointer may be NULL if no data to be encrypted is available at the point of the call​.

iovlen

[in] number of scatter/gather list elements​. If iov is NULL, this value must be zero​.

Description

A stream decryption operation is started with this call​. Multiple successive kcapi_cipher_stream_update function calls can be invoked to send more ciphertext data to be decrypted​. The kernel buffers the input until kcapi_cipher_stream_op picks up the decrypted data​. Once ciphertext is decrypted during the kcapi_cipher_stream_op it is removed from the kernel buffer​.

The function calls of kcapi_cipher_stream_update and kcapi_cipher_stream_op can be mixed, even by multiple threads of an application​.

The IV buffer must be exactly kcapi_cipher_ivsize bytes in size​.

return number of bytes sent to the kernel upon success; a negative errno-style error code if an error occurred

Author

Stephan Mueller <​smueller@chronox.de​>

Author.

Info

August 2026 libkcapi Manual 1.5.1 Programming Interface