КриптоПро CSP  

Вектор ввода вывода

Входные (и выходные) данные функций шифрования CPEncrypt(), CPCEncrypt(), CPDecrypt(), CPCDecrypt(), если в параметре dwFlags устаны флаги CP_CRYPT_HASH_PACKET и CP_CRYPT_DATA_IOVEC, а также входные данные функций хэширования CPHashData() и CPCHashData(), если в параметре dwFlags устан флаг CP_HASH_DATA_IOVEC, могут быть представлены в форме вектора ввода вывода. В этом случае данные представляются массивом структур CSP_iovec. Последовательность структур в массиве должна соответствовать последовательности фрагментов данных в пакете.

СтруктурыОписание
CSP_iovec_Cтруктура определяет представление фрагмента данных во внешнем интерфейсе.
МакросыОписание
CSP_UIO_MAXIOV Максимально допустимое число фрагментов в представлении пакета вектором ввода вывода.
CSP_KERNEL_UIO_MAXIOV Максимально допустимое число фрагментов при использовании библиотеки уровня ядра или в адресном пространстве пользователя.
CSP_UIOV_MAXBAD_LEN Значение не инициализированного поля длины.
IOVEC_PTR Макрос возвращает указатель на фрагмент данных с номером n в векторе ввода вывода.
IOVEC_LEN Макрос возвращает длину фрагмента данных с номером n в векторе ввода вывода.
CP_CRYPT_DATA_IOVEC Флаг - признак представления пакета в форме вектора ввода/вывода. Для функций CPEncrypt(), CPCEncrypt(),CPDecrypt(), CPCDecrypt() флаг должен быть установлен, если используется представление пакета в форме вектора ввода/вывода, в противном случае пакет представляется буфером. См. Шифрование и хэширование пакета .
CP_HASH_DATA_IOVEC Флаг параметра dwFlags - признак представления данных в форме вектора ввода/вывода для функций CPHashData() и CPCHashData(). Должен быть установлен, если используется представление данных в форме вектора ввода/вывода, в противном случае данные представляются буфером.