diff options
author | Tom Gundersen <teg@jklm.no> | 2015-11-23 22:53:30 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2015-11-23 22:53:30 +0100 |
commit | 1f233d4c24a6c95d34cf0fe5d9c31b5440102479 (patch) | |
tree | 06a8eb4a76bc956f2b210f5c208ae51c7a9efa59 /src/resolve/resolved-dns-answer.h | |
parent | e429762faaac0c49353d35144a9d45d283e91213 (diff) | |
parent | 45ec7efb6c2560c80dfa752bc9d3733749dc52cb (diff) |
Merge pull request #2007 from poettering/resolve-srv
resolved: add support for resolving plain SRV and DNS-SD services
Diffstat (limited to 'src/resolve/resolved-dns-answer.h')
-rw-r--r-- | src/resolve/resolved-dns-answer.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/resolve/resolved-dns-answer.h b/src/resolve/resolved-dns-answer.h index 044d73b19c..b5b1ad56ba 100644 --- a/src/resolve/resolved-dns-answer.h +++ b/src/resolve/resolved-dns-answer.h @@ -58,3 +58,20 @@ void dns_answer_order_by_scope(DnsAnswer *a, bool prefer_link_local); int dns_answer_reserve(DnsAnswer **a, unsigned n_free); DEFINE_TRIVIAL_CLEANUP_FUNC(DnsAnswer*, dns_answer_unref); + +#define DNS_ANSWER_FOREACH(kk, a) \ + for (unsigned _i = ({ \ + (kk) = ((a) && (a)->n_rrs > 0 ? (a)->items[0].rr : NULL); \ + 0; \ + }); \ + (a) && ((_i) < (a)->n_rrs); \ + _i++, (kk) = (_i < (a)->n_rrs ? (a)->items[_i].rr : NULL)) + +#define DNS_ANSWER_FOREACH_IFINDEX(kk, ifindex, a) \ + for (unsigned _i = ({ \ + (kk) = ((a) && (a)->n_rrs > 0 ? (a)->items[0].rr : NULL); \ + (ifindex) = ((a) && (a)->n_rrs > 0 ? (a)->items[0].ifindex : 0); \ + 0; \ + }); \ + (a) && ((_i) < (a)->n_rrs); \ + _i++, (kk) = (_i < (a)->n_rrs ? (a)->items[_i].rr : NULL), (ifindex) = (_i < (a)->n_rrs ? (a)->items[_i].ifindex : 0)) |