Name

kcapi_kpp_ssgen_aio — generate a shared secret (asynchronous one shot)

Synopsis

int32_t kcapi_kpp_ssgen_aio (struct kcapi_handle * handle,
 struct iovec * iniov,
 struct iovec * outiov,
 uint32_t iovlen,
 int access);
 

Arguments

handle

[in] cipher handle

iniov

[in] head of scatter-gather list of the source buffers with the public keys of the peer

outiov

[out] head of scatter-gather list of the destination buffers filled with the generated shared secret

iovlen

[in] number of scatter-gather list entries

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.

return number of bytes verify upon success; a negative errno-style error code if an error occurred