| 634 | // ipv6 version of name routines |
| 635 | |
| 636 | static void NetAddressToIPSocket6(const NetAddress *address, struct sockaddr_in6 *sockAddr) |
| 637 | { |
| 638 | dMemset(sockAddr, 0, sizeof(struct sockaddr_in6)); |
| 639 | #ifdef SIN6_LEN |
| 640 | sockAddr->sin6_len = sizeof(struct sockaddr_in6); |
| 641 | #endif |
| 642 | sockAddr->sin6_family = AF_INET6; |
| 643 | sockAddr->sin6_port = ntohs(address->port); |
| 644 | |
| 645 | if (address->type == NetAddress::IPV6MulticastAddress) |
| 646 | { |
| 647 | sockAddr->sin6_addr = PlatformNetState::multicast6Group.ipv6mr_multiaddr; |
| 648 | sockAddr->sin6_scope_id = PlatformNetState::multicast6Group.ipv6mr_interface; |
| 649 | } |
| 650 | else |
| 651 | { |
| 652 | sockAddr->sin6_flowinfo = address->address.ipv6.netFlow; |
| 653 | sockAddr->sin6_scope_id = address->address.ipv6.netScope; |
| 654 | dMemcpy(&sockAddr->sin6_addr, address->address.ipv6.netNum, sizeof(address->address.ipv6.netNum)); |
| 655 | } |
| 656 | } |
| 657 | |
| 658 | static void IPSocket6ToNetAddress(const struct sockaddr_in6 *sockAddr, NetAddress *address) |
| 659 | { |
no test coverage detected