Provided by: libkcapi-dev_1.0.3-2_amd64 bug

NAME

       kcapi_aead_stream_update - send more data for processing (stream)

SYNOPSIS

       int32_t kcapi_aead_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 plaintext for encryption or ciphertext for decryption can
       be submitted to the kernel.

       Note, see the order of input data as outlined in kcapi_aead_stream_init_dec.

       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_aead_stream_op.

NOTE

       The last block of input data MUST be provided with kcapi_aead_stream_update_last as the
       kernel must be informed about the completion of the input data.

       With the separate API calls of kcapi_aead_stream_update and kcapi_aead_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.

IMPORTANT NOTE

       The kernel will only process sysconf(_SC_PAGESIZE) * ALG_MAX_PAGES at one time. Longer
       input data cannot be handled by the kernel.

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

AUTHOR

       Stephan Mueller <smueller@chronox.de>
           Author.

COPYRIGHT