summary refs log tree commit diff
path: root/libnm-util/nm-utils-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-util/nm-utils-private.h')
-rw-r--r--libnm-util/nm-utils-private.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/libnm-util/nm-utils-private.h b/libnm-util/nm-utils-private.h
index fa1e3a01..9d73a939 100644
--- a/libnm-util/nm-utils-private.h
+++ b/libnm-util/nm-utils-private.h
@@ -26,12 +26,45 @@
 #ifndef __NM_UTILS_PRIVATE_H__
 #define __NM_UTILS_PRIVATE_H__
 
+#include "nm-setting-private.h"
+
 gboolean    _nm_utils_string_in_list   (const char *str,
                                         const char **valid_strings);
 
 gboolean    _nm_utils_string_slist_validate (GSList *list,
                                              const char **valid_values);
 
-void        _nm_utils_register_value_transformations (void);
+gboolean    _nm_utils_gvalue_array_validate (GValueArray *elements,
+                                             guint n_expected, ...);
+
+void        _nm_value_transforms_register (void);
+
+/***********************************************************/
+
+typedef struct NMUtilsPrivateData {
+	const char * (*nm_setting_ip4_config_get_address_label)      (NMSettingIP4Config *setting,
+	                                                              guint32             i);
+	gboolean     (*nm_setting_ip4_config_add_address_with_label) (NMSettingIP4Config *setting,
+	                                                              NMIP4Address       *address,
+	                                                              const char         *label);
+} NMUtilsPrivateData;
+
+const NMUtilsPrivateData *nm_utils_get_private (void);
+
+/**
+ * NM_UTILS_PRIVATE_CALL:
+ * @call: a call to a private libnm-util function
+ *
+ * Used to call private libnm-util functions. Eg, if there was a
+ * private function called nm_foo_get_bar(), you could call it like:
+ *
+ *   bar = NM_UTILS_PRIVATE_CALL (nm_foo_get_bar (foo, x, y, z));
+ *
+ * This macro only exists inside the NetworkManager source tree and
+ * is not part of the public API.
+ *
+ * Since: 0.9.10
+ */
+#define NM_UTILS_PRIVATE_CALL(call) (nm_utils_get_private ()->call)
 
 #endif