module bindbc.gnutls.socket; import bindbc.gnutls.config; static if (gnuTLSSupport < GnuTLSSupport.gnutls_3_5_3) {} else: import bindbc.gnutls.gnutls; import core.sys.posix.sys.socket; version (BindGnuTLS_Static) { extern (System) @nogc nothrow @system: void gnutls_transport_set_fastopen (gnutls_session_t session, int fd, sockaddr* connect_addr, socklen_t connect_addrlen, uint flags); } else { extern (System) @nogc nothrow @system { alias pgnutls_transport_set_fastopen = void function (gnutls_session_t session, int fd, sockaddr* connect_addr, socklen_t connect_addrlen, uint flags); } __gshared { pgnutls_transport_set_fastopen gnutls_transport_set_fastopen; } import bindbc.loader : SharedLib, bindSymbol_stdcall; void bindSocket(SharedLib lib) { lib.bindSymbol_stdcall(gnutls_transport_set_fastopen, "gnutls_transport_set_fastopen"); } }