diff options
| author | Michael Biebl <biebl@debian.org> | 2021-10-01 23:05:04 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-10-01 23:05:04 +0200 |
| commit | e74c568b07b50b97873fb4ee1d776dedefbd54d6 (patch) | |
| tree | 3469f17ea9af91f7ff169b890633bda68b0cf76e /src/core/nm-l3-config-data.h | |
| parent | bfe522304da217296e2a61040f58e35ec5d6f3f2 (diff) | |
New upstream version 1.32.12 upstream/1.32.12
Diffstat (limited to 'src/core/nm-l3-config-data.h')
| -rw-r--r-- | src/core/nm-l3-config-data.h | 73 |
1 files changed, 67 insertions, 6 deletions
diff --git a/src/core/nm-l3-config-data.h b/src/core/nm-l3-config-data.h index b3d9cd32..9bed47e0 100644 --- a/src/core/nm-l3-config-data.h +++ b/src/core/nm-l3-config-data.h @@ -3,11 +3,17 @@ #ifndef __NM_L3_CONFIG_DATA_H__ #define __NM_L3_CONFIG_DATA_H__ -#include "nm-glib-aux/nm-dedup-multi.h" +#include "libnm-glib-aux/nm-dedup-multi.h" #include "nm-setting-connection.h" #include "nm-setting-ip6-config.h" -#include "platform/nm-platform.h" -#include "platform/nmp-object.h" +#include "libnm-platform/nm-platform.h" +#include "libnm-platform/nmp-object.h" + +typedef enum { + NM_PROXY_CONFIG_METHOD_UNKNOWN, + NM_PROXY_CONFIG_METHOD_NONE, + NM_PROXY_CONFIG_METHOD_AUTO, +} NMProxyConfigMethod; typedef enum { NM_L3_CONFIG_DAT_FLAGS_NONE = 0, @@ -60,6 +66,8 @@ typedef enum { * Note that if the respective NML3ConfigData has NM_L3_CONFIG_DAT_FLAGS_IGNORE_MERGE_NO_DEFAULT_ROUTES * set, this flag gets ignored during merge. * @NM_L3_CONFIG_MERGE_FLAGS_NO_DNS: don't merge DNS information + * @NM_L3_CONFIG_MERGE_FLAGS_CLONE: clone is also implemented via "merge". + * In that case, it takes all settings. */ typedef enum _nm_packed { NM_L3_CONFIG_MERGE_FLAGS_NONE = 0, @@ -67,6 +75,7 @@ typedef enum _nm_packed { NM_L3_CONFIG_MERGE_FLAGS_NO_ROUTES = (1LL << 1), NM_L3_CONFIG_MERGE_FLAGS_NO_DEFAULT_ROUTES = (1LL << 2), NM_L3_CONFIG_MERGE_FLAGS_NO_DNS = (1LL << 3), + NM_L3_CONFIG_MERGE_FLAGS_CLONE = (1LL << 4), } NML3ConfigMergeFlags; /*****************************************************************************/ @@ -191,7 +200,20 @@ NMDedupMultiIndex *nm_l3_config_data_get_multi_idx(const NML3ConfigData *self); /*****************************************************************************/ -int nm_l3_config_data_cmp(const NML3ConfigData *a, const NML3ConfigData *b); +typedef enum { + NM_L3_CONFIG_CMP_FLAGS_NONE, + NM_L3_CONFIG_CMP_FLAGS_IGNORE_IFINDEX = (1LL << 0), +} NML3ConfigCmpFlags; + +int nm_l3_config_data_cmp_full(const NML3ConfigData *a, + const NML3ConfigData *b, + NML3ConfigCmpFlags cmp_flags); + +static inline int +nm_l3_config_data_cmp(const NML3ConfigData *a, const NML3ConfigData *b) +{ + return nm_l3_config_data_cmp_full(a, b, NM_L3_CONFIG_CMP_FLAGS_NONE); +} static inline gboolean nm_l3_config_data_equal(const NML3ConfigData *a, const NML3ConfigData *b) @@ -236,6 +258,11 @@ nm_l3_config_data_lookup_routes(const NML3ConfigData *self, int addr_family) for (nm_dedup_multi_iter_init((iter), nm_l3_config_data_lookup_objs((self), (type))); \ nm_platform_dedup_multi_iter_next_obj((iter), (obj), (type));) +#define nm_l3_config_data_iter_ip_address_for_each(iter, self, addr_family, address) \ + for (nm_dedup_multi_iter_init((iter), \ + nm_l3_config_data_lookup_addresses((self), (addr_family))); \ + nm_platform_dedup_multi_iter_next_ip_address((iter), (address));) + #define nm_l3_config_data_iter_ip4_address_for_each(iter, self, address) \ for (nm_dedup_multi_iter_init((iter), nm_l3_config_data_lookup_addresses((self), AF_INET)); \ nm_platform_dedup_multi_iter_next_ip4_address((iter), (address));) @@ -244,6 +271,10 @@ nm_l3_config_data_lookup_routes(const NML3ConfigData *self, int addr_family) for (nm_dedup_multi_iter_init((iter), nm_l3_config_data_lookup_addresses((self), AF_INET6)); \ nm_platform_dedup_multi_iter_next_ip6_address((iter), (address));) +#define nm_l3_config_data_iter_ip_route_for_each(iter, self, addr_family, route) \ + for (nm_dedup_multi_iter_init((iter), nm_l3_config_data_lookup_routes((self), (addr_family))); \ + nm_platform_dedup_multi_iter_next_ip_route((iter), (route));) + #define nm_l3_config_data_iter_ip4_route_for_each(iter, self, route) \ for (nm_dedup_multi_iter_init((iter), nm_l3_config_data_lookup_routes((self), AF_INET)); \ nm_platform_dedup_multi_iter_next_ip4_route((iter), (route));) @@ -409,8 +440,12 @@ nm_l3_config_data_add_route_6(NML3ConfigData *self, const NMPlatformIP6Route *rt const NMPObject *nm_l3_config_data_get_best_default_route(const NML3ConfigData *self, int addr_family); +NMSettingConnectionMdns nm_l3_config_data_get_mdns(const NML3ConfigData *self); + gboolean nm_l3_config_data_set_mdns(NML3ConfigData *self, NMSettingConnectionMdns mdns); +NMSettingConnectionLlmnr nm_l3_config_data_get_llmnr(const NML3ConfigData *self); + gboolean nm_l3_config_data_set_llmnr(NML3ConfigData *self, NMSettingConnectionLlmnr llmnr); NMIPRouteTableSyncMode nm_l3_config_data_get_route_table_sync(const NML3ConfigData *self, @@ -445,13 +480,17 @@ gboolean nm_l3_config_data_add_nameserver(NML3ConfigData * gboolean nm_l3_config_data_clear_nameservers(NML3ConfigData *self, int addr_family); +const in_addr_t *nm_l3_config_data_get_nis_servers(const NML3ConfigData *self, guint *out_len); + gboolean nm_l3_config_data_add_nis_server(NML3ConfigData *self, in_addr_t nis_server); -const char *const * -nm_l3_config_data_get_domains(const NML3ConfigData *self, int addr_family, guint *out_len); +const char *nm_l3_config_data_get_nis_domain(const NML3ConfigData *self); gboolean nm_l3_config_data_set_nis_domain(NML3ConfigData *self, const char *nis_domain); +const char *const * +nm_l3_config_data_get_domains(const NML3ConfigData *self, int addr_family, guint *out_len); + gboolean nm_l3_config_data_add_domain(NML3ConfigData *self, int addr_family, const char *domain); const char *const * @@ -464,6 +503,12 @@ gboolean nm_l3_config_data_add_search(NML3ConfigData *self, int addr_family, con gboolean nm_l3_config_data_add_dns_option(NML3ConfigData *self, int addr_family, const char *dns_option); +const char *const * +nm_l3_config_data_get_dns_options(const NML3ConfigData *self, int addr_family, guint *out_len); + +gboolean +nm_l3_config_data_get_dns_priority(const NML3ConfigData *self, int addr_family, int *out_prio); + gboolean nm_l3_config_data_set_dns_priority(NML3ConfigData *self, int addr_family, int dns_priority); @@ -472,6 +517,22 @@ NMSettingIP6ConfigPrivacy nm_l3_config_data_get_ip6_privacy(const NML3ConfigData gboolean nm_l3_config_data_set_ip6_privacy(NML3ConfigData * self, NMSettingIP6ConfigPrivacy ip6_privacy); +NMProxyConfigMethod nm_l3_config_data_get_proxy_method(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_proxy_method(NML3ConfigData *self, NMProxyConfigMethod value); + +NMTernary nm_l3_config_data_get_proxy_browser_only(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_proxy_browser_only(NML3ConfigData *self, NMTernary value); + +const char *nm_l3_config_data_get_proxy_pac_url(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_proxy_pac_url(NML3ConfigData *self, const char *value); + +const char *nm_l3_config_data_get_proxy_pac_script(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_proxy_pac_script(NML3ConfigData *self, const char *value); + gboolean nm_l3_config_data_get_ndisc_hop_limit(const NML3ConfigData *self, int *out_val); gboolean nm_l3_config_data_set_ndisc_hop_limit(NML3ConfigData *self, int val); |