15 #undef _POSIX_C_SOURCE
16 #define _POSIX_C_SOURCE 200112L
21 #if !defined(OPENSSL_TRUSTY)
25 #include <sys/types.h>
27 #if !defined(OPENSSL_WINDOWS)
38 #include "../internal.h"
42 struct sockaddr_storage *out_addr,
43 socklen_t *out_addr_length,
45 const char *port_str) {
55 ret = getaddrinfo(hostname, port_str, &hint, &
result);
58 #if defined(OPENSSL_WINDOWS)
69 if ((
size_t)
cur->ai_addrlen >
sizeof(
struct sockaddr_storage)) {
74 *out_addr_length =
cur->ai_addrlen;
92 #if defined(OPENSSL_WINDOWS)
95 return 0 == ioctlsocket(sock, FIONBIO, &
arg);
97 int flags = fcntl(sock, F_GETFL, 0);
102 flags &= ~O_NONBLOCK;
106 return fcntl(sock, F_SETFL,
flags) == 0;
114 socklen_t error_size =
sizeof(
error);
116 if (getsockopt(sock, SOL_SOCKET, SO_ERROR, (
char *)&
error, &error_size) < 0) {
122 #endif // OPENSSL_TRUSTY