X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-manager.h;h=1151029d29fdec7cdf0ace882ba6e4bd38418d8f;hb=2723b3b51d409340558e46e37e90525d4f880fe1;hp=1fd4be41a4459069bdc85be9de1ffe8533d78c84;hpb=edc501d4674dadc304d45a7e1c5b69e207eb8cd4;p=elogind.git diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index 1fd4be41a..1151029d2 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -30,20 +30,21 @@ #include "hashmap.h" typedef struct Manager Manager; +typedef enum Support Support; -#include "resolved-dns-query.h" -#include "resolved-dns-server.h" -#include "resolved-dns-scope.h" -#include "resolved-dns-stream.h" -#include "resolved-link.h" - -typedef enum Support { +enum Support { SUPPORT_NO, SUPPORT_YES, SUPPORT_RESOLVE, _SUPPORT_MAX, _SUPPORT_INVALID = -1 -} Support; +}; + +#include "resolved-dns-query.h" +#include "resolved-dns-server.h" +#include "resolved-dns-scope.h" +#include "resolved-dns-stream.h" +#include "resolved-link.h" struct Manager { sd_event *event; @@ -107,6 +108,9 @@ struct Manager { /* Watch the system hostname */ int hostname_fd; sd_event_source *hostname_event_source; + + /* Watch for system suspends */ + sd_bus_slot *prepare_for_sleep_slot; }; /* Manager */ @@ -135,14 +139,18 @@ int manager_llmnr_ipv6_udp_fd(Manager *m); int manager_llmnr_ipv4_tcp_fd(Manager *m); int manager_llmnr_ipv6_tcp_fd(Manager *m); -int manager_ifindex_is_loopback(Manager *m, int ifindex); int manager_find_ifindex(Manager *m, int family, const union in_addr_union *in_addr); LinkAddress* manager_find_link_address(Manager *m, int family, const union in_addr_union *in_addr); void manager_refresh_rrs(Manager *m); int manager_next_hostname(Manager *m); -int manager_our_packet(Manager *m, DnsPacket *p); +bool manager_our_packet(Manager *m, DnsPacket *p); +DnsScope* manager_find_scope(Manager *m, DnsPacket *p); + +void manager_verify_all(Manager *m); + +void manager_flush_dns_servers(Manager *m, DnsServerType t); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);