MCPcopy Create free account
hub / github.com/ElementsProject/lightning / wireaddr_to_addrinfo

Function wireaddr_to_addrinfo

common/wireaddr.c:826–856  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

824}
825
826struct addrinfo *wireaddr_to_addrinfo(const tal_t *ctx,
827 const struct wireaddr *wireaddr)
828{
829 struct addrinfo *ai = talz(ctx, struct addrinfo);
830 struct sockaddr_in *sin;
831 struct sockaddr_in6 *sin6;
832
833 ai->ai_socktype = SOCK_STREAM;
834
835 switch (wireaddr->type) {
836 case ADDR_TYPE_IPV4:
837 sin = tal(ai, struct sockaddr_in);
838 wireaddr_to_ipv4(wireaddr, sin);
839 ai->ai_family = sin->sin_family;
840 ai->ai_addrlen = sizeof(*sin);
841 ai->ai_addr = (struct sockaddr *)sin;
842 return ai;
843 case ADDR_TYPE_IPV6:
844 sin6 = tal(ai, struct sockaddr_in6);
845 wireaddr_to_ipv6(wireaddr, sin6);
846 ai->ai_family = sin6->sin6_family;
847 ai->ai_addrlen = sizeof(*sin6);
848 ai->ai_addr = (struct sockaddr *)sin6;
849 return ai;
850 case ADDR_TYPE_TOR_V2_REMOVED:
851 case ADDR_TYPE_TOR_V3:
852 case ADDR_TYPE_DNS:
853 break;
854 }
855 abort();
856}
857
858struct wireaddr *fromwire_wireaddr_array(const tal_t *ctx, const u8 *ser)
859{

Callers 6

tor_autoserviceFunction · 0.85
tor_fixed_serviceFunction · 0.85
conn_initFunction · 0.85
connect_initFunction · 0.85
mainFunction · 0.85

Calls 3

wireaddr_to_ipv4Function · 0.85
wireaddr_to_ipv6Function · 0.85
abortFunction · 0.85

Tested by

no test coverage detected