]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/resolve/resolved-dns-server.h
Merge pull request #16514 from keszybz/zstd-decompress-fix
[thirdparty/systemd.git] / src / resolve / resolved-dns-server.h
index 2c0457243bc0d7cefe9e08841fcf612216ca1d08..464e8dc2515d51ad733e1db6493a9dd561eec2f8 100644 (file)
@@ -2,8 +2,18 @@
 #pragma once
 
 #include "in-addr-util.h"
+#include "list.h"
+#include "resolve-util.h"
+#include "time-util.h"
 
+typedef struct DnsScope DnsScope;
 typedef struct DnsServer DnsServer;
+typedef struct DnsStream DnsStream;
+typedef struct DnsPacket DnsPacket;
+typedef struct Link Link;
+typedef struct Manager Manager;
+
+#include "resolved-dnstls.h"
 
 typedef enum DnsServerType {
         DNS_SERVER_SYSTEM,
@@ -35,10 +45,6 @@ typedef enum DnsServerFeatureLevel {
 const char* dns_server_feature_level_to_string(int i) _const_;
 int dns_server_feature_level_from_string(const char *s) _pure_;
 
-#include "resolved-dnstls.h"
-#include "resolved-link.h"
-#include "resolved-manager.h"
-
 struct DnsServer {
         Manager *manager;
 
@@ -50,8 +56,11 @@ struct DnsServer {
         int family;
         union in_addr_union address;
         int ifindex; /* for IPv6 link-local DNS servers */
+        uint16_t port;
+        char *server_name;
 
         char *server_string;
+        char *server_string_full;
 
         /* The long-lived stream towards this server. */
         DnsStream *stream;
@@ -94,7 +103,9 @@ int dns_server_new(
                 Link *link,
                 int family,
                 const union in_addr_union *address,
-                int ifindex);
+                uint16_t port,
+                int ifindex,
+                const char *server_string);
 
 DnsServer* dns_server_ref(DnsServer *s);
 DnsServer* dns_server_unref(DnsServer *s);
@@ -114,13 +125,15 @@ DnsServerFeatureLevel dns_server_possible_feature_level(DnsServer *s);
 int dns_server_adjust_opt(DnsServer *server, DnsPacket *packet, DnsServerFeatureLevel level);
 
 const char *dns_server_string(DnsServer *server);
+const char *dns_server_string_full(DnsServer *server);
 int dns_server_ifindex(const DnsServer *s);
+uint16_t dns_server_port(const DnsServer *s);
 
 bool dns_server_dnssec_supported(DnsServer *server);
 
 void dns_server_warn_downgrade(DnsServer *server);
 
-DnsServer *dns_server_find(DnsServer *first, int family, const union in_addr_union *in_addr, int ifindex);
+DnsServer *dns_server_find(DnsServer *first, int family, const union in_addr_union *in_addr, uint16_t port, int ifindex, const char *name);
 
 void dns_server_unlink_all(DnsServer *first);
 void dns_server_unlink_marked(DnsServer *first);
@@ -132,8 +145,6 @@ DnsServer *manager_set_dns_server(Manager *m, DnsServer *s);
 DnsServer *manager_get_dns_server(Manager *m);
 void manager_next_dns_server(Manager *m);
 
-bool dns_server_address_valid(int family, const union in_addr_union *sa);
-
 DnssecMode dns_server_get_dnssec_mode(DnsServer *s);
 DnsOverTlsMode dns_server_get_dns_over_tls_mode(DnsServer *s);