resolvectl: add the usual typedef for struct link_info/global_info
Also move the struct defintions up in preparation for further changes.
This commit is contained in:
+60
-60
@@ -1336,7 +1336,7 @@ static int status_print_strv_global(char **p) {
|
||||
return status_print_strv_ifindex(0, NULL, p);
|
||||
}
|
||||
|
||||
struct link_info {
|
||||
typedef struct LinkInfo {
|
||||
uint64_t scopes_mask;
|
||||
const char *llmnr;
|
||||
const char *mdns;
|
||||
@@ -1350,9 +1350,26 @@ struct link_info {
|
||||
char **ntas;
|
||||
bool dnssec_supported;
|
||||
bool default_route;
|
||||
};
|
||||
} LinkInfo;
|
||||
|
||||
static void link_info_clear(struct link_info *p) {
|
||||
typedef struct GlobalInfo {
|
||||
char *current_dns;
|
||||
char *current_dns_ex;
|
||||
char **dns;
|
||||
char **dns_ex;
|
||||
char **fallback_dns;
|
||||
char **fallback_dns_ex;
|
||||
char **domains;
|
||||
char **ntas;
|
||||
const char *llmnr;
|
||||
const char *mdns;
|
||||
const char *dns_over_tls;
|
||||
const char *dnssec;
|
||||
const char *resolv_conf_mode;
|
||||
bool dnssec_supported;
|
||||
} GlobalInfo;
|
||||
|
||||
static void link_info_clear(LinkInfo *p) {
|
||||
free(p->current_dns);
|
||||
free(p->current_dns_ex);
|
||||
strv_free(p->dns);
|
||||
@@ -1361,6 +1378,17 @@ static void link_info_clear(struct link_info *p) {
|
||||
strv_free(p->ntas);
|
||||
}
|
||||
|
||||
static void global_info_clear(GlobalInfo *p) {
|
||||
free(p->current_dns);
|
||||
free(p->current_dns_ex);
|
||||
strv_free(p->dns);
|
||||
strv_free(p->dns_ex);
|
||||
strv_free(p->fallback_dns);
|
||||
strv_free(p->fallback_dns_ex);
|
||||
strv_free(p->domains);
|
||||
strv_free(p->ntas);
|
||||
}
|
||||
|
||||
static int dump_list(Table *table, const char *prefix, char * const *l) {
|
||||
int r;
|
||||
|
||||
@@ -1378,24 +1406,24 @@ static int dump_list(Table *table, const char *prefix, char * const *l) {
|
||||
|
||||
static int status_ifindex(sd_bus *bus, int ifindex, const char *name, StatusMode mode, bool *empty_line) {
|
||||
static const struct bus_properties_map property_map[] = {
|
||||
{ "ScopesMask", "t", NULL, offsetof(struct link_info, scopes_mask) },
|
||||
{ "DNS", "a(iay)", map_link_dns_servers, offsetof(struct link_info, dns) },
|
||||
{ "DNSEx", "a(iayqs)", map_link_dns_servers_ex, offsetof(struct link_info, dns_ex) },
|
||||
{ "CurrentDNSServer", "(iay)", map_link_current_dns_server, offsetof(struct link_info, current_dns) },
|
||||
{ "CurrentDNSServerEx", "(iayqs)", map_link_current_dns_server_ex, offsetof(struct link_info, current_dns_ex) },
|
||||
{ "Domains", "a(sb)", map_link_domains, offsetof(struct link_info, domains) },
|
||||
{ "DefaultRoute", "b", NULL, offsetof(struct link_info, default_route) },
|
||||
{ "LLMNR", "s", NULL, offsetof(struct link_info, llmnr) },
|
||||
{ "MulticastDNS", "s", NULL, offsetof(struct link_info, mdns) },
|
||||
{ "DNSOverTLS", "s", NULL, offsetof(struct link_info, dns_over_tls) },
|
||||
{ "DNSSEC", "s", NULL, offsetof(struct link_info, dnssec) },
|
||||
{ "DNSSECNegativeTrustAnchors", "as", NULL, offsetof(struct link_info, ntas) },
|
||||
{ "DNSSECSupported", "b", NULL, offsetof(struct link_info, dnssec_supported) },
|
||||
{ "ScopesMask", "t", NULL, offsetof(LinkInfo, scopes_mask) },
|
||||
{ "DNS", "a(iay)", map_link_dns_servers, offsetof(LinkInfo, dns) },
|
||||
{ "DNSEx", "a(iayqs)", map_link_dns_servers_ex, offsetof(LinkInfo, dns_ex) },
|
||||
{ "CurrentDNSServer", "(iay)", map_link_current_dns_server, offsetof(LinkInfo, current_dns) },
|
||||
{ "CurrentDNSServerEx", "(iayqs)", map_link_current_dns_server_ex, offsetof(LinkInfo, current_dns_ex) },
|
||||
{ "Domains", "a(sb)", map_link_domains, offsetof(LinkInfo, domains) },
|
||||
{ "DefaultRoute", "b", NULL, offsetof(LinkInfo, default_route) },
|
||||
{ "LLMNR", "s", NULL, offsetof(LinkInfo, llmnr) },
|
||||
{ "MulticastDNS", "s", NULL, offsetof(LinkInfo, mdns) },
|
||||
{ "DNSOverTLS", "s", NULL, offsetof(LinkInfo, dns_over_tls) },
|
||||
{ "DNSSEC", "s", NULL, offsetof(LinkInfo, dnssec) },
|
||||
{ "DNSSECNegativeTrustAnchors", "as", NULL, offsetof(LinkInfo, ntas) },
|
||||
{ "DNSSECSupported", "b", NULL, offsetof(LinkInfo, dnssec_supported) },
|
||||
{}
|
||||
};
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
|
||||
_cleanup_(link_info_clear) struct link_info link_info = {};
|
||||
_cleanup_(link_info_clear) LinkInfo link_info = {};
|
||||
_cleanup_(table_unrefp) Table *table = NULL;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
char ifi[DECIMAL_STR_MAX(int)], ifname[IF_NAMESIZE + 1] = "";
|
||||
@@ -1657,55 +1685,27 @@ static int map_global_domains(sd_bus *bus, const char *member, sd_bus_message *m
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct global_info {
|
||||
char *current_dns;
|
||||
char *current_dns_ex;
|
||||
char **dns;
|
||||
char **dns_ex;
|
||||
char **fallback_dns;
|
||||
char **fallback_dns_ex;
|
||||
char **domains;
|
||||
char **ntas;
|
||||
const char *llmnr;
|
||||
const char *mdns;
|
||||
const char *dns_over_tls;
|
||||
const char *dnssec;
|
||||
const char *resolv_conf_mode;
|
||||
bool dnssec_supported;
|
||||
};
|
||||
|
||||
static void global_info_clear(struct global_info *p) {
|
||||
free(p->current_dns);
|
||||
free(p->current_dns_ex);
|
||||
strv_free(p->dns);
|
||||
strv_free(p->dns_ex);
|
||||
strv_free(p->fallback_dns);
|
||||
strv_free(p->fallback_dns_ex);
|
||||
strv_free(p->domains);
|
||||
strv_free(p->ntas);
|
||||
}
|
||||
|
||||
static int status_global(sd_bus *bus, StatusMode mode, bool *empty_line) {
|
||||
static const struct bus_properties_map property_map[] = {
|
||||
{ "DNS", "a(iiay)", map_global_dns_servers, offsetof(struct global_info, dns) },
|
||||
{ "DNSEx", "a(iiayqs)", map_global_dns_servers_ex, offsetof(struct global_info, dns_ex) },
|
||||
{ "FallbackDNS", "a(iiay)", map_global_dns_servers, offsetof(struct global_info, fallback_dns) },
|
||||
{ "FallbackDNSEx", "a(iiayqs)", map_global_dns_servers_ex, offsetof(struct global_info, fallback_dns_ex) },
|
||||
{ "CurrentDNSServer", "(iiay)", map_global_current_dns_server, offsetof(struct global_info, current_dns) },
|
||||
{ "CurrentDNSServerEx", "(iiayqs)", map_global_current_dns_server_ex, offsetof(struct global_info, current_dns_ex) },
|
||||
{ "Domains", "a(isb)", map_global_domains, offsetof(struct global_info, domains) },
|
||||
{ "DNSSECNegativeTrustAnchors", "as", NULL, offsetof(struct global_info, ntas) },
|
||||
{ "LLMNR", "s", NULL, offsetof(struct global_info, llmnr) },
|
||||
{ "MulticastDNS", "s", NULL, offsetof(struct global_info, mdns) },
|
||||
{ "DNSOverTLS", "s", NULL, offsetof(struct global_info, dns_over_tls) },
|
||||
{ "DNSSEC", "s", NULL, offsetof(struct global_info, dnssec) },
|
||||
{ "DNSSECSupported", "b", NULL, offsetof(struct global_info, dnssec_supported) },
|
||||
{ "ResolvConfMode", "s", NULL, offsetof(struct global_info, resolv_conf_mode) },
|
||||
{ "DNS", "a(iiay)", map_global_dns_servers, offsetof(GlobalInfo, dns) },
|
||||
{ "DNSEx", "a(iiayqs)", map_global_dns_servers_ex, offsetof(GlobalInfo, dns_ex) },
|
||||
{ "FallbackDNS", "a(iiay)", map_global_dns_servers, offsetof(GlobalInfo, fallback_dns) },
|
||||
{ "FallbackDNSEx", "a(iiayqs)", map_global_dns_servers_ex, offsetof(GlobalInfo, fallback_dns_ex) },
|
||||
{ "CurrentDNSServer", "(iiay)", map_global_current_dns_server, offsetof(GlobalInfo, current_dns) },
|
||||
{ "CurrentDNSServerEx", "(iiayqs)", map_global_current_dns_server_ex, offsetof(GlobalInfo, current_dns_ex) },
|
||||
{ "Domains", "a(isb)", map_global_domains, offsetof(GlobalInfo, domains) },
|
||||
{ "DNSSECNegativeTrustAnchors", "as", NULL, offsetof(GlobalInfo, ntas) },
|
||||
{ "LLMNR", "s", NULL, offsetof(GlobalInfo, llmnr) },
|
||||
{ "MulticastDNS", "s", NULL, offsetof(GlobalInfo, mdns) },
|
||||
{ "DNSOverTLS", "s", NULL, offsetof(GlobalInfo, dns_over_tls) },
|
||||
{ "DNSSEC", "s", NULL, offsetof(GlobalInfo, dnssec) },
|
||||
{ "DNSSECSupported", "b", NULL, offsetof(GlobalInfo, dnssec_supported) },
|
||||
{ "ResolvConfMode", "s", NULL, offsetof(GlobalInfo, resolv_conf_mode) },
|
||||
{}
|
||||
};
|
||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
|
||||
_cleanup_(global_info_clear) struct global_info global_info = {};
|
||||
_cleanup_(global_info_clear) GlobalInfo global_info = {};
|
||||
_cleanup_(table_unrefp) Table *table = NULL;
|
||||
int r;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user