/* param base DCP peripheral base address param handle Handle used for this request. param plaintext Input plain text to encrypt param ciphertext Output cipher text param size Size of input and output data in bytes. Must be multiple of 16 bytes. param iv Input initial vector to combine with the first input block. return Status from encrypt operation  */
status_t DCP_AES_EncryptCbc(DCP_Type *base, dcp_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, size_t size, const uint8_t iv[16])
/* param base DCP peripheral base address param handle Handle used for this request. param plaintext Input plain text to encrypt param ciphertext Output cipher text param size Size of input and output data in bytes. Must be multiple of 16 bytes. param iv Input initial vector to combine with the first input block. return Status from encrypt operation  */
status_t DCP_AES_EncryptCbc(DCP_Type *base, dcp_handle_t *handle, const uint8_t *plaintext, uint8_t *ciphertext, size_t size, const uint8_t iv[16])
{
    status_t completionStatus = kStatus_Fail;
    dcp_work_packet_t dcpWork = {0};
    do
    {
        completionStatus = DCP_AES_EncryptCbcNonBlocking(base, handle, &dcpWork, plaintext, ciphertext, size, iv);
    } while (completionStatus == kStatus_DCP_Again);
    if (completionStatus != kStatus_Success)
    {
        return completionStatus;
    }
    return DCP_WaitForChannelComplete(base, handle);
}