#ifndef LIGHTNING_LIGHTNINGD_DNS_H #define LIGHTNING_LIGHTNINGD_DNS_H #include "config.h" #include #include #include #include struct lightningd; struct netaddr; #define dns_resolve_and_connect(dstate, name, port, initfn, failfn, arg) \ dns_resolve_and_connect_((dstate), (name), (port), \ typesafe_cb_preargs(struct io_plan *, void *, \ (initfn), (arg), \ struct io_conn *, \ struct lightningd *, \ const struct netaddr *), \ typesafe_cb_preargs(void, void *, (failfn), (arg), \ struct lightningd *), \ (arg)) struct dns_async *dns_resolve_and_connect_(struct lightningd *ld, const char *name, const char *port, struct io_plan *(*init)(struct io_conn *, struct lightningd *, const struct netaddr *, void *arg), void (*fail)(struct lightningd *, void *arg), void *arg); /* Don't do lookup, just try to connect to these addresses. */ #define multiaddress_connect(dstate, addresses, initfn, failfn, arg) \ multiaddress_connect_((dstate), (addresses), \ typesafe_cb_preargs(struct io_plan *, void *, \ (initfn), (arg), \ struct io_conn *, \ struct lightningd *, \ const struct netaddr *), \ typesafe_cb_preargs(void, void *, (failfn), (arg), \ struct lightningd *), \ (arg)) struct dns_async *multiaddress_connect_(struct lightningd *ld, const struct netaddr *addresses, struct io_plan *(*init)(struct io_conn *, struct lightningd *, const struct netaddr *, void *arg), void (*fail)(struct lightningd *, void *arg), void *arg); #endif /* LIGHTNING_LIGHTNINGD_DNS_H */