MCPcopy Create free account
hub / github.com/defold/defold / GetName

Function GetName

engine/dlib/src/dlib/socket_win32.cpp:617–650  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

615 }
616
617 Result GetName(Socket socket, Address* address, uint16_t* port)
618 {
619 int result = -1;
620 if (IsSocketIPv4(socket))
621 {
622 struct sockaddr_in sock_addr = { 0 };
623 socklen_t addr_len = sizeof(sock_addr);
624 result = getsockname(socket, (struct sockaddr*)&sock_addr, &addr_len);
625 if (result == 0)
626 {
627 address->m_family = dmSocket::DOMAIN_IPV4;
628 *IPv4(address) = sock_addr.sin_addr.s_addr;
629 *port = ntohs(sock_addr.sin_port);
630 }
631 }
632#if !defined(DM_IPV6_UNSUPPORTED)
633 else if (IsSocketIPv6(socket))
634 {
635 struct sockaddr_in6 sock_addr = { 0 };
636 socklen_t addr_len = sizeof(sock_addr);
637 result = getsockname(socket, (struct sockaddr*)&sock_addr, &addr_len);
638 if (result == 0)
639 {
640 address->m_family = dmSocket::DOMAIN_IPV6;
641 memcpy(IPv6(address), &sock_addr.sin6_addr, sizeof(struct in6_addr));
642 *port = ntohs(sock_addr.sin6_port);
643 }
644 }
645#endif // no ipv6
646 else
647 {
648 dmLogError("Failed to retrieve socket information, unsupported address family!");
649 return RESULT_AFNOSUPPORT;
650 }
651
652 return result == 0 ? RESULT_OK : NATIVETORESULT(DM_SOCKET_ERRNO);
653 }

Callers

nothing calls this directly

Calls 2

IPv4Function · 0.85
IsSocketIPv4Function · 0.70

Tested by

no test coverage detected