I believe the LibCurl here satisfies all that:
https://curl.haxx.se/windows
Using this file:
#include <curl/curl.h>
#include <stdio.h>
int main() {
curl_version_info_data *o = curl_version_info(CURLVERSION_NOW);
printf("SSL: %s\n", o->ssl_version);
printf("NTLM: %d\n", o->features & CURL_VERSION_NTLM);
printf("HTTP/2: %d\n", o->features & CURL_VERSION_HTTP2);
printf("SSH2: %s\n", o->libssh_version);
printf("IPv6: %d\n", o->features & CURL_VERSION_IPV6);
}
Build:
cc https.c `
'-Icurl-7.70.0-win64-mingw\include' `
'-Lcurl-7.70.0-win64-mingw\lib' `
-lcrypt32 `
-lcurl `
-lwldap32 `
-lws2_32
Result:
SSL: OpenSSL/1.1.1g (Schannel)
NTLM: 16
HTTP/2: 65536
SSH2: libssh2/1.9.0
IPv6: 1
I did not build with Visual Studio, but Clang:
https://github.com/mstorsjo/llvm-mingw
Also I am not sure what exactly OpenSSL/1.1.1g (Schannel), I guess it means OpenSSL and WinSSL both? If that’s not the case, you can build LibCurl yourself with CFG=-winssl:
https://github.com/nu8/gulf/blob/master/c-https/1-curl.ps1