IPV6_V6ONLY socket option example for (res = res0; res; res = res->ai_next) { if (res->ai_family != PF_INET && res->ai_family != PF_INET6) continue; s = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (s < 0) continue; /* Application dependent */ #ifdef IPV6_V6ONLY if (res->ai_family == PF_INET6) { int on = 1; if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) < 0) { close(s); continue; /* Application dependent */ } } #endif if (bind(s, res->ai_addr, res->ai_addrlen) < 0) { close(s); continue; /* Application dependent */ } push_socket(socklist, s); }