| 233 | } |
| 234 | |
| 235 | void GetUdpAddress(TUdpAddress* res, const sockaddr_in6& addr) { |
| 236 | if (addr.sin6_family == AF_INET) { |
| 237 | const sockaddr_in& addr4 = *(const sockaddr_in*)&addr; |
| 238 | res->Network = 0; |
| 239 | res->Interface = 0xffff0000ll + (((ui64)(ui32)addr4.sin_addr.s_addr) << 32); |
| 240 | res->Scope = 0; |
| 241 | res->Port = ntohs(addr4.sin_port); |
| 242 | } else if (addr.sin6_family == AF_INET6) { |
| 243 | res->Network = *BreakAliasing<ui64>(addr.sin6_addr.s6_addr + 0); |
| 244 | res->Interface = *BreakAliasing<ui64>(addr.sin6_addr.s6_addr + 8); |
| 245 | res->Scope = addr.sin6_scope_id; |
| 246 | res->Port = ntohs(addr.sin6_port); |
| 247 | } |
| 248 | } |
| 249 | |
| 250 | void GetWinsockAddr(sockaddr_in6* res, const TUdpAddress& addr) { |
| 251 | if (0) { //addr.IsIPv4()) { |
no outgoing calls
no test coverage detected