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

Function json_add_address_fields

common/json_stream.c:497–538  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

495}
496
497static void json_add_address_fields(struct json_stream *response,
498 const struct wireaddr *addr,
499 const char *typefield)
500{
501 switch (addr->type) {
502 case ADDR_TYPE_IPV4: {
503 char addrstr[INET_ADDRSTRLEN];
504 inet_ntop(AF_INET, addr->addr, addrstr, INET_ADDRSTRLEN);
505 json_add_string(response, typefield, "ipv4");
506 json_add_string(response, "address", addrstr);
507 json_add_num(response, "port", addr->port);
508 return;
509 }
510 case ADDR_TYPE_IPV6: {
511 char addrstr[INET6_ADDRSTRLEN];
512 inet_ntop(AF_INET6, addr->addr, addrstr, INET6_ADDRSTRLEN);
513 json_add_string(response, typefield, "ipv6");
514 json_add_string(response, "address", addrstr);
515 json_add_num(response, "port", addr->port);
516 return;
517 }
518 case ADDR_TYPE_TOR_V2_REMOVED: {
519 json_add_string(response, typefield, "torv2");
520 json_add_string(response, "address", fmt_wireaddr_without_port(tmpctx, addr));
521 json_add_num(response, "port", addr->port);
522 return;
523 }
524 case ADDR_TYPE_TOR_V3: {
525 json_add_string(response, typefield, "torv3");
526 json_add_string(response, "address", fmt_wireaddr_without_port(tmpctx, addr));
527 json_add_num(response, "port", addr->port);
528 return;
529 }
530 case ADDR_TYPE_DNS: {
531 json_add_string(response, typefield, "dns");
532 json_add_string(response, "address", fmt_wireaddr_without_port(tmpctx, addr));
533 json_add_num(response, "port", addr->port);
534 return;
535 }
536 }
537 abort();
538}
539
540void json_add_address(struct json_stream *response, const char *fieldname,
541 const struct wireaddr *addr)

Callers 2

json_add_addressFunction · 0.85

Calls 4

json_add_numFunction · 0.85
abortFunction · 0.85
json_add_stringFunction · 0.70

Tested by

no test coverage detected