X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-dns-server.h;h=a438a27763b38bc16dc28c5717bd5d54386a9d40;hb=0eb3cc88504b5d8f740764047ac5162b67992386;hp=adceb868a32576fd6869cd9ae301c2df5384e880;hpb=74b2466e14a1961bf3ac0e8a60cfaceec705bd59;p=elogind.git diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index adceb868a..a438a2776 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -21,41 +21,43 @@ along with systemd; If not, see . ***/ +#include "in-addr-util.h" + typedef struct DnsServer DnsServer; typedef enum DnsServerSource DnsServerSource; -#include "in-addr-util.h" -#include "resolved.h" -#include "resolved-link.h" -#include "resolved-dns-server.h" - -enum DnsServerSource { +typedef enum DnsServerType { DNS_SERVER_SYSTEM, + DNS_SERVER_FALLBACK, DNS_SERVER_LINK, - DNS_SERVER_DHCP, - _DNS_SERVER_SOURCE_MAX -}; +} DnsServerType; + +#include "resolved-manager.h" +#include "resolved-link.h" struct DnsServer { Manager *manager; - DnsServerSource source; - - unsigned char family; - union in_addr_union address; - bool marked; + DnsServerType type; Link *link; + int family; + union in_addr_union address; + + bool marked:1; + LIST_FIELDS(DnsServer, servers); }; int dns_server_new( Manager *m, DnsServer **s, - DnsServerSource source, + DnsServerType type, Link *l, - unsigned char family, - union in_addr_union *in_addr); + int family, + const union in_addr_union *address); DnsServer* dns_server_free(DnsServer *s); + +extern const struct hash_ops dns_server_hash_ops;