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

Function fromwire_wireaddr

common/wireaddr.c:31–63  ·  view source on GitHub ↗

Returns false if we didn't parse it, and *cursor == NULL if malformed. */

Source from the content-addressed store, hash-verified

29
30/* Returns false if we didn't parse it, and *cursor == NULL if malformed. */
31bool fromwire_wireaddr(const u8 **cursor, size_t *max, struct wireaddr *addr)
32{
33 addr->type = fromwire_u8(cursor, max);
34
35 switch (addr->type) {
36 case ADDR_TYPE_IPV4:
37 addr->addrlen = 4;
38 break;
39 case ADDR_TYPE_IPV6:
40 addr->addrlen = 16;
41 break;
42 case ADDR_TYPE_TOR_V2_REMOVED:
43 addr->addrlen = TOR_V2_ADDRLEN;
44 break;
45 case ADDR_TYPE_TOR_V3:
46 addr->addrlen = TOR_V3_ADDRLEN;
47 break;
48 case ADDR_TYPE_DNS:
49 addr->addrlen = fromwire_u8(cursor, max);
50 memset(&addr->addr, 0, sizeof(addr->addr));
51 addr->addr[addr->addrlen] = 0;
52 break;
53 case ADDR_TYPE_WEBSOCKET:
54 addr->addrlen = 0;
55 break;
56 default:
57 return false;
58 }
59 fromwire(cursor, max, addr->addr, addr->addrlen);
60 addr->port = fromwire_u16(cursor, max);
61
62 return *cursor != NULL;
63}
64
65void towire_wireaddr(u8 **pptr, const struct wireaddr *addr)
66{

Callers 5

peer_init_receivedFunction · 0.85
fromwire_wireaddr_arrayFunction · 0.85
printwire_wireaddrFunction · 0.85
printwire_addressesFunction · 0.85

Calls 3

fromwire_u8Function · 0.50
fromwireFunction · 0.50
fromwire_u16Function · 0.50

Tested by

no test coverage detected