Name

kcapi_akcipher_stream_update — send more data for processing (stream)

Synopsis

int32_t kcapi_akcipher_stream_update (struct kcapi_handle * handle,
 struct iovec * iov,
 uint32_t iovlen);
 

Arguments

handle

[in] cipher handle

iov

[in] scatter/gather list with data to be processed by the cipher operation.

iovlen

[in] number of scatter/gather list elements.

Description

Using this function call, more data can be submitted to the kernel.

This function may cause the caller to sleep if the kernel buffer holding the data is getting full. The process will be woken up once more buffer space becomes available by calling kcapi_akcipher_stream_op.

Note

with the separate API calls of kcapi_akcipher_stream_update and kcapi_akcipher_stream_op a multi-threaded application can be implemented where one thread sends data to be processed and one thread picks up data processed by the cipher operation.

WARNING

The memory referenced by iov is not accessed by the kernel during this call. The memory is first accessed when kcapi_cipher_stream_op is called. Thus, you MUST make sure that the referenced memory is still present at the time kcapi_cipher_stream_op is called.

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