| 210 | } |
| 211 | |
| 212 | bool IsSocketIPv6(Socket socket) |
| 213 | { |
| 214 | WSAPROTOCOL_INFO ss = { 0 }; |
| 215 | socklen_t sslen = sizeof(ss); |
| 216 | int result = getsockopt(socket, SOL_SOCKET, SO_PROTOCOL_INFO, (char*)&ss, (int*)&sslen); |
| 217 | if (result == 0) |
| 218 | { |
| 219 | return ss.iAddressFamily == AF_INET6; |
| 220 | } |
| 221 | |
| 222 | dmLogError("Failed to retrieve address family (%d): %s", |
| 223 | NATIVETORESULT(DM_SOCKET_ERRNO), |
| 224 | ResultToString(NATIVETORESULT(DM_SOCKET_ERRNO))); |
| 225 | return false; |
| 226 | } |
| 227 | |
| 228 | static int TypeToNative(Type type) |
| 229 | { |