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

Function wireaddr_to_addrinfo

common/wireaddr.c:790–821  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

788}
789
790struct addrinfo *wireaddr_to_addrinfo(const tal_t *ctx,
791 const struct wireaddr *wireaddr)
792{
793 struct addrinfo *ai = talz(ctx, struct addrinfo);
794 struct sockaddr_in *sin;
795 struct sockaddr_in6 *sin6;
796
797 ai->ai_socktype = SOCK_STREAM;
798
799 switch (wireaddr->type) {
800 case ADDR_TYPE_IPV4:
801 sin = tal(ai, struct sockaddr_in);
802 wireaddr_to_ipv4(wireaddr, sin);
803 ai->ai_family = sin->sin_family;
804 ai->ai_addrlen = sizeof(*sin);
805 ai->ai_addr = (struct sockaddr *)sin;
806 return ai;
807 case ADDR_TYPE_IPV6:
808 sin6 = tal(ai, struct sockaddr_in6);
809 wireaddr_to_ipv6(wireaddr, sin6);
810 ai->ai_family = sin6->sin6_family;
811 ai->ai_addrlen = sizeof(*sin6);
812 ai->ai_addr = (struct sockaddr *)sin6;
813 return ai;
814 case ADDR_TYPE_TOR_V2_REMOVED:
815 case ADDR_TYPE_TOR_V3:
816 case ADDR_TYPE_DNS:
817 case ADDR_TYPE_WEBSOCKET:
818 break;
819 }
820 abort();
821}
822
823struct wireaddr *fromwire_wireaddr_array(const tal_t *ctx, const u8 *ser)
824{

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