about summary refs log tree commit diff
path: root/src/nm-ip4-config.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2018-05-11 22:08:45 +0200
committerMichael Biebl <biebl@debian.org>2018-05-11 22:08:45 +0200
commitee9c73a923909e23a649407be77e25235d769e25 (patch)
treee21c923621fa278e737da693df9eb60ea31a6067 /src/nm-ip4-config.h
parentf60117b41d5433be1b4a96d82cd11d0c3dce9b63 (diff)
New upstream version 1.10.8 upstream/1.10.8
Diffstat (limited to 'src/nm-ip4-config.h')
-rw-r--r--src/nm-ip4-config.h200
1 files changed, 12 insertions, 188 deletions
diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h
index 1c5222df..7c345d20 100644
--- a/src/nm-ip4-config.h
+++ b/src/nm-ip4-config.h
@@ -21,8 +21,7 @@
 #ifndef __NETWORKMANAGER_IP4_CONFIG_H__
 #define __NETWORKMANAGER_IP4_CONFIG_H__
 
-#include "nm-setting-connection.h"
-
+#include "nm-exported-object.h"
 #include "nm-setting-ip4-config.h"
 
 #include "nm-utils/nm-dedup-multi.h"
@@ -155,12 +154,11 @@ GType nm_ip4_config_get_type (void);
 NMIP4Config * nm_ip4_config_new (NMDedupMultiIndex *multi_idx,
                                  int ifindex);
 
-NMIP4Config *nm_ip4_config_clone (const NMIP4Config *self);
 int nm_ip4_config_get_ifindex (const NMIP4Config *self);
 
 NMDedupMultiIndex *nm_ip4_config_get_multi_idx (const NMIP4Config *self);
 
-NMIP4Config *nm_ip4_config_capture (NMDedupMultiIndex *multi_idx, NMPlatform *platform, int ifindex);
+NMIP4Config *nm_ip4_config_capture (NMDedupMultiIndex *multi_idx, NMPlatform *platform, int ifindex, gboolean capture_resolv_conf);
 
 void nm_ip4_config_add_dependent_routes (NMIP4Config *self,
                                          guint32 route_table,
@@ -173,7 +171,6 @@ gboolean nm_ip4_config_commit (const NMIP4Config *self,
 
 void nm_ip4_config_merge_setting (NMIP4Config *self,
                                   NMSettingIPConfig *setting,
-                                  NMSettingConnectionMdns mdns,
                                   guint32 route_table,
                                   guint32 route_metric);
 NMSetting *nm_ip4_config_create_setting (const NMIP4Config *self);
@@ -189,9 +186,6 @@ void nm_ip4_config_subtract (NMIP4Config *dst,
 void nm_ip4_config_intersect (NMIP4Config *dst,
                               const NMIP4Config *src,
                               guint32 default_route_metric_penalty);
-NMIP4Config *nm_ip4_config_intersect_alloc (const NMIP4Config *a,
-                                            const NMIP4Config *b,
-                                            guint32 default_route_metric_penalty);
 gboolean nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relevant_changes);
 void nm_ip4_config_dump (const NMIP4Config *self, const char *detail);
 
@@ -200,10 +194,6 @@ const NMPObject *_nm_ip4_config_best_default_route_find (const NMIP4Config *self
 
 in_addr_t nmtst_ip4_config_get_gateway (NMIP4Config *config);
 
-NMSettingConnectionMdns nm_ip4_config_mdns_get (const NMIP4Config *self);
-void                    nm_ip4_config_mdns_set (NMIP4Config *self,
-                                                NMSettingConnectionMdns mdns);
-
 const NMDedupMultiHeadEntry *nm_ip4_config_lookup_addresses (const NMIP4Config *self);
 void nm_ip4_config_reset_addresses (NMIP4Config *self);
 void nm_ip4_config_add_address (NMIP4Config *self, const NMPlatformIP4Address *address);
@@ -228,13 +218,6 @@ const NMPlatformIP4Route *nm_ip4_config_get_direct_route_for_host (const NMIP4Co
 
 void nm_ip4_config_reset_nameservers (NMIP4Config *self);
 void nm_ip4_config_add_nameserver (NMIP4Config *self, guint32 nameserver);
-
-static inline void
-_nm_ip4_config_add_nameserver (NMIP4Config *self, const guint32 *nameserver)
-{
-	nm_ip4_config_add_nameserver (self, *nameserver);
-}
-
 void nm_ip4_config_del_nameserver (NMIP4Config *self, guint i);
 guint nm_ip4_config_get_num_nameservers (const NMIP4Config *self);
 guint32 nm_ip4_config_get_nameserver (const NMIP4Config *self, guint i);
@@ -355,7 +338,7 @@ nm_ip_config_get_addr_family (const NMIPConfig *config)
 	g_return_val_if_reached (AF_UNSPEC);
 }
 
-#define _NM_IP_CONFIG_DISPATCH(config, v4_func, v6_func, ...) \
+#define _NM_IP_CONFIG_DISPATCH(config, v4_func, v6_func, dflt, ...) \
 	G_STMT_START { \
 		gconstpointer _config = (config); \
 		\
@@ -367,217 +350,58 @@ nm_ip_config_get_addr_family (const NMIPConfig *config)
 		} \
 	} G_STMT_END
 
-#define _NM_IP_CONFIG_DISPATCH_VOID(config, v4_func, v6_func, ...) \
-	G_STMT_START { \
-		gconstpointer _config = (config); \
-		\
-		if (NM_IS_IP4_CONFIG (_config)) { \
-			v4_func ((NMIP4Config *) _config, ##__VA_ARGS__); \
-		} else { \
-			nm_assert (NM_IS_IP6_CONFIG (_config)); \
-			v6_func ((NMIP6Config *) _config, ##__VA_ARGS__); \
-		} \
-	} G_STMT_END
-
-static inline int
-nm_ip_config_get_ifindex (const NMIPConfig *self)
-{
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_ifindex, nm_ip6_config_get_ifindex);
-}
-
-static inline void
-nm_ip_config_hash (const NMIPConfig *self, GChecksum *sum, gboolean dns_only)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_hash, nm_ip6_config_hash, sum, dns_only);
-}
-
-static inline void
-nm_ip_config_add_address (NMIPConfig *self, const NMPlatformIPAddress *address)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_add_address, nm_ip6_config_add_address, (gconstpointer) address);
-}
-
-static inline void
-nm_ip_config_reset_addresses (NMIPConfig *self)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_reset_addresses, nm_ip6_config_reset_addresses);
-}
-
-static inline void
-nm_ip_config_add_route (NMIPConfig *self,
-                        const NMPlatformIPRoute *new,
-                        const NMPObject **out_obj_new)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_add_route, nm_ip6_config_add_route, (gpointer) new, out_obj_new);
-}
-
-static inline void
-nm_ip_config_reset_routes (NMIPConfig *self)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_reset_routes, nm_ip6_config_reset_routes);
-}
-
 static inline int
 nm_ip_config_get_dns_priority (const NMIPConfig *self)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_dns_priority, nm_ip6_config_get_dns_priority);
-}
-
-static inline void
-nm_ip_config_set_dns_priority (NMIPConfig *self, gint priority)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_set_dns_priority, nm_ip6_config_set_dns_priority, priority);
-}
-
-static inline void
-nm_ip_config_add_nameserver (NMIPConfig *self, const NMIPAddr *ns)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, _nm_ip4_config_add_nameserver, nm_ip6_config_add_nameserver, (gconstpointer) ns);
-}
-
-static inline void
-nm_ip_config_reset_nameservers (const NMIPConfig *self)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_reset_nameservers, nm_ip6_config_reset_nameservers);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_dns_priority, nm_ip6_config_get_dns_priority, 0);
 }
 
 static inline guint
 nm_ip_config_get_num_nameservers (const NMIPConfig *self)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_nameservers, nm_ip6_config_get_num_nameservers);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_nameservers, nm_ip6_config_get_num_nameservers, 0);
 }
 
 static inline gconstpointer
 nm_ip_config_get_nameserver (const NMIPConfig *self, guint i)
 {
-	_NM_IP_CONFIG_DISPATCH (self, _nm_ip4_config_get_nameserver, nm_ip6_config_get_nameserver, i);
+	_NM_IP_CONFIG_DISPATCH (self, _nm_ip4_config_get_nameserver, nm_ip6_config_get_nameserver, 0, i);
 }
 
 static inline guint
 nm_ip_config_get_num_domains (const NMIPConfig *self)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_domains, nm_ip6_config_get_num_domains);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_domains, nm_ip6_config_get_num_domains, 0);
 }
 
 static inline const char *
 nm_ip_config_get_domain (const NMIPConfig *self, guint i)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_domain, nm_ip6_config_get_domain, i);
-}
-
-static inline void
-nm_ip_config_reset_searches (const NMIPConfig *self)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_reset_searches, nm_ip6_config_reset_searches);
-}
-
-static inline void
-nm_ip_config_add_search (const NMIPConfig *self, const char *new)
-{
-	_NM_IP_CONFIG_DISPATCH_VOID (self, nm_ip4_config_add_search, nm_ip6_config_add_search, new);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_domain, nm_ip6_config_get_domain, NULL, i);
 }
 
 static inline guint
 nm_ip_config_get_num_searches (const NMIPConfig *self)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_searches, nm_ip6_config_get_num_searches);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_searches, nm_ip6_config_get_num_searches, 0);
 }
 
 static inline const char *
 nm_ip_config_get_search (const NMIPConfig *self, guint i)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_search, nm_ip6_config_get_search, i);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_search, nm_ip6_config_get_search, NULL, i);
 }
 
 static inline guint
 nm_ip_config_get_num_dns_options (const NMIPConfig *self)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_dns_options, nm_ip6_config_get_num_dns_options);
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_num_dns_options, nm_ip6_config_get_num_dns_options, 0);
 }
 
 static inline const char *
 nm_ip_config_get_dns_option (const NMIPConfig *self, guint i)
 {
-	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_dns_option, nm_ip6_config_get_dns_option, i);
-}
-
-#define _NM_IP_CONFIG_DISPATCH_SET_OP(_return, dst, src, v4_func, v6_func, ...) \
-	G_STMT_START { \
-		gpointer _dst = (dst); \
-		gconstpointer _src = (src); \
-		\
-		if (NM_IS_IP4_CONFIG (_dst)) { \
-			nm_assert (NM_IS_IP4_CONFIG (_src)); \
-			_return v4_func ((NMIP4Config *) _dst, (const NMIP4Config *) _src, ##__VA_ARGS__); \
-		} else { \
-			nm_assert (NM_IS_IP6_CONFIG (_src)); \
-			_return v6_func ((NMIP6Config *) _dst, (const NMIP6Config *) _src, ##__VA_ARGS__); \
-		} \
-	} G_STMT_END
-
-static inline void
-nm_ip_config_intersect (NMIPConfig *dst,
-                        const NMIPConfig *src,
-                        guint32 default_route_metric_penalty)
-{
-	_NM_IP_CONFIG_DISPATCH_SET_OP (, dst, src,
-	                               nm_ip4_config_intersect,
-	                               nm_ip6_config_intersect,
-	                               default_route_metric_penalty);
-}
-
-static inline void
-nm_ip_config_subtract (NMIPConfig *dst,
-                       const NMIPConfig *src,
-                       guint32 default_route_metric_penalty)
-{
-	_NM_IP_CONFIG_DISPATCH_SET_OP (, dst, src,
-	                               nm_ip4_config_subtract,
-	                               nm_ip6_config_subtract,
-	                               default_route_metric_penalty);
-}
-
-static inline void
-nm_ip_config_merge (NMIPConfig *dst,
-                    const NMIPConfig *src,
-                    NMIPConfigMergeFlags merge_flags,
-                    guint32 default_route_metric_penalty)
-{
-	_NM_IP_CONFIG_DISPATCH_SET_OP (, dst, src,
-	                               nm_ip4_config_merge,
-	                               nm_ip6_config_merge,
-	                               merge_flags,
-	                               default_route_metric_penalty);
-}
-
-static inline gboolean
-nm_ip_config_replace (NMIPConfig *dst,
-                      const NMIPConfig *src,
-                      gboolean *relevant_changes)
-{
-	_NM_IP_CONFIG_DISPATCH_SET_OP (return, dst, src,
-	                               nm_ip4_config_replace,
-	                               nm_ip6_config_replace,
-	                               relevant_changes);
-}
-
-static inline NMIPConfig *
-nm_ip_config_intersect_alloc (const NMIPConfig *a,
-                              const NMIPConfig *b,
-                              guint32 default_route_metric_penalty)
-{
-	if (NM_IS_IP4_CONFIG (a)) {
-		nm_assert (NM_IS_IP4_CONFIG (b));
-		return (NMIPConfig *) nm_ip4_config_intersect_alloc ((const NMIP4Config *) a,
-		                                                     (const NMIP4Config *) b,
-		                                                     default_route_metric_penalty);
-	} else {
-		nm_assert (NM_IS_IP6_CONFIG (a));
-		nm_assert (NM_IS_IP6_CONFIG (b));
-		return (NMIPConfig *) nm_ip6_config_intersect_alloc ((const NMIP6Config *) a,
-		                                                     (const NMIP6Config *) b,
-		                                                     default_route_metric_penalty);
-	}
+	_NM_IP_CONFIG_DISPATCH (self, nm_ip4_config_get_dns_option, nm_ip6_config_get_dns_option, NULL, i);
 }
 
 #endif /* __NETWORKMANAGER_IP4_CONFIG_H__ */