summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-06-16 09:12:02 +0200
committerThomas Haller <thaller@redhat.com>2021-06-21 17:23:53 +0200
commita6c9f2518ec16b6e5343d36d57b32a048f65575b (patch)
tree4db2833f6db13a0ac012c6dd5a11d7aa2bd7a91d
parent42ba464380808b392ac9245389b417357c91b253 (diff)
config: add nm_config_data_get_device_config_int64() helper
-rw-r--r--src/core/nm-config-data.c21
-rw-r--r--src/core/nm-config-data.h8
2 files changed, 29 insertions, 0 deletions
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
index f31c900e27..fa1cc49a78 100644
--- a/src/core/nm-config-data.c
+++ b/src/core/nm-config-data.c
@@ -1508,6 +1508,27 @@ nm_config_data_get_device_config_boolean(const NMConfigData *self,
return nm_config_parse_boolean(value, val_invalid);
}
+gint64
+nm_config_data_get_device_config_int64(const NMConfigData *self,
+ const char * property,
+ NMDevice * device,
+ int base,
+ gint64 min,
+ gint64 max,
+ gint64 val_no_match,
+ gint64 val_invalid)
+{
+ gs_free char *value = NULL;
+ gboolean has_match;
+
+ value = nm_config_data_get_device_config(self, property, device, &has_match);
+ if (!has_match) {
+ errno = ENOENT;
+ return val_no_match;
+ }
+ return _nm_utils_ascii_str_to_int64(value, base, min, max, val_invalid);
+}
+
char *
nm_config_data_get_connection_default(const NMConfigData *self,
const char * property,
diff --git a/src/core/nm-config-data.h b/src/core/nm-config-data.h
index d1b2c3744a..0d133b8c57 100644
--- a/src/core/nm-config-data.h
+++ b/src/core/nm-config-data.h
@@ -234,6 +234,14 @@ gboolean nm_config_data_get_device_config_boolean(const NMConfigData *self,
NMDevice * device,
int val_no_match,
int val_invalid);
+gint64 nm_config_data_get_device_config_int64(const NMConfigData *self,
+ const char * property,
+ NMDevice * device,
+ int base,
+ gint64 min,
+ gint64 max,
+ gint64 val_no_match,
+ gint64 val_invalid);
char ** nm_config_data_get_groups(const NMConfigData *self);
char ** nm_config_data_get_keys(const NMConfigData *self, const char *group);