Библиотека CyaSSL SSL (похожая на OpenSSL, но с гораздо меньшими размерами и другими интересными функциями) имеет обратные вызовы ввода / вывода, аналогичные тем, которые вы ищете, я считаю.
В CyaSSL обратные вызовы ввода / вывода прототипируются с помощью CallbackIOSend и CallbackIORecv в ssl.h. Эти функции должны быть зарегистрированы в соответствии с SSL_CTX с помощью CyaSSL_SetIOSend () и CyaSSL_SetIORecv () . Случай по умолчанию (CBIOSend () и CBIORecv () зарегистрирован в нижней части cyassl_io.c.
Указатели функций CBIOSend и CBIORecv могут указывать на ваши пользовательские функции ввода / вывода. Вы можете использовать функции Send () и Receive () по умолчанию (EmbedSend () и EmbedReceive (), расположенные в cyassl_io.c) в качестве примеров.
С уважением,
Chris