| 692 | // ipv6 version of name routines |
| 693 | |
| 694 | static void NetAddressToIPSocket6(const NetAddress *address, struct sockaddr_in6 *sockAddr) |
| 695 | { |
| 696 | dMemset(sockAddr, 0, sizeof(struct sockaddr_in6)); |
| 697 | #ifdef SIN6_LEN |
| 698 | sockAddr->sin6_len = sizeof(struct sockaddr_in6); |
| 699 | #endif |
| 700 | sockAddr->sin6_family = AF_INET6; |
| 701 | sockAddr->sin6_port = ntohs(address->port); |
| 702 | |
| 703 | if (address->type == NetAddress::IPV6MulticastAddress) |
| 704 | { |
| 705 | sockAddr->sin6_addr = PlatformNetState::multicast6Group.ipv6mr_multiaddr; |
| 706 | sockAddr->sin6_scope_id = PlatformNetState::multicast6Group.ipv6mr_interface; |
| 707 | } |
| 708 | else |
| 709 | { |
| 710 | sockAddr->sin6_flowinfo = address->address.ipv6.netFlow; |
| 711 | sockAddr->sin6_scope_id = address->address.ipv6.netScope; |
| 712 | dMemcpy(&sockAddr->sin6_addr, address->address.ipv6.netNum, sizeof(address->address.ipv6.netNum)); |
| 713 | } |
| 714 | } |
| 715 | |
| 716 | static void IPSocket6ToNetAddress(const struct sockaddr_in6 *sockAddr, NetAddress *address) |
| 717 | { |
no test coverage detected