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

Function wireaddr_to_addrinfo

common/wireaddr.c:848–878  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

846}
847
848struct addrinfo *wireaddr_to_addrinfo(const tal_t *ctx,
849 const struct wireaddr *wireaddr)
850{
851 struct addrinfo *ai = talz(ctx, struct addrinfo);
852 struct sockaddr_in *sin;
853 struct sockaddr_in6 *sin6;
854
855 ai->ai_socktype = SOCK_STREAM;
856
857 switch (wireaddr->type) {
858 case ADDR_TYPE_IPV4:
859 sin = tal(ai, struct sockaddr_in);
860 wireaddr_to_ipv4(wireaddr, sin);
861 ai->ai_family = sin->sin_family;
862 ai->ai_addrlen = sizeof(*sin);
863 ai->ai_addr = (struct sockaddr *)sin;
864 return ai;
865 case ADDR_TYPE_IPV6:
866 sin6 = tal(ai, struct sockaddr_in6);
867 wireaddr_to_ipv6(wireaddr, sin6);
868 ai->ai_family = sin6->sin6_family;
869 ai->ai_addrlen = sizeof(*sin6);
870 ai->ai_addr = (struct sockaddr *)sin6;
871 return ai;
872 case ADDR_TYPE_TOR_V2_REMOVED:
873 case ADDR_TYPE_TOR_V3:
874 case ADDR_TYPE_DNS:
875 break;
876 }
877 abort();
878}
879
880struct wireaddr *fromwire_wireaddr_array(const tal_t *ctx, const u8 *ser)
881{

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