X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fresolve%2Fresolved-manager.h;h=5a581cc13ad071071a59ff862dabd0b757ca4cca;hb=32a568fb90bf0a22a3007fa670305403a5d0bb72;hp=1fd4be41a4459069bdc85be9de1ffe8533d78c84;hpb=edc501d4674dadc304d45a7e1c5b69e207eb8cd4;p=elogind.git diff --git a/src/resolve/resolved-manager.h b/src/resolve/resolved-manager.h index 1fd4be41a..5a581cc13 100644 --- a/src/resolve/resolved-manager.h +++ b/src/resolve/resolved-manager.h @@ -24,26 +24,23 @@ #include "sd-event.h" #include "sd-network.h" #include "sd-rtnl.h" -#include "util.h" #include "list.h" -#include "in-addr-util.h" #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-stream.h" +#include "resolved-link.h" struct Manager { sd_event *event; @@ -107,6 +104,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 +135,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);