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

Function GetName

engine/dlib/src/dlib/socket_posix.cpp:536–569  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

534 }
535
536 Result GetName(Socket socket, Address* address, uint16_t* port)
537 {
538 int result = -1;
539 if (IsSocketIPv4(socket))
540 {
541 struct sockaddr_in sock_addr = { 0 };
542 socklen_t addr_len = sizeof(sock_addr);
543 result = getsockname(socket, (struct sockaddr *) &sock_addr, &addr_len);
544 if (result == 0)
545 {
546 address->m_family = dmSocket::DOMAIN_IPV4;
547 *IPv4(address) = sock_addr.sin_addr.s_addr;
548 *port = ntohs(sock_addr.sin_port);
549 }
550 }
551#if !defined(DM_IPV6_UNSUPPORTED)
552 else if (IsSocketIPv6(socket))
553 {
554 struct sockaddr_in6 sock_addr = { 0 };
555 socklen_t addr_len = sizeof(sock_addr);
556 result = getsockname(socket, (struct sockaddr *) &sock_addr, &addr_len);
557 if (result == 0)
558 {
559 address->m_family = dmSocket::DOMAIN_IPV6;
560 memcpy(IPv6(address), &sock_addr.sin6_addr, sizeof(struct in6_addr));
561 *port = ntohs(sock_addr.sin6_port);
562 }
563 }
564#endif // no ipv6
565 else
566 {
567 dmLogError("Failed to retrieve socket information, unsupported address family!");
568 return RESULT_AFNOSUPPORT;
569 }
570
571 return result == 0 ? RESULT_OK : NATIVETORESULT(DM_SOCKET_ERRNO);
572 }

Callers

nothing calls this directly

Calls 2

IPv4Function · 0.85
IsSocketIPv4Function · 0.70

Tested by

no test coverage detected