summaryrefslogtreecommitdiff
path: root/src/libnm-glib-aux/nm-enum-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-glib-aux/nm-enum-utils.h')
-rw-r--r--src/libnm-glib-aux/nm-enum-utils.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-enum-utils.h b/src/libnm-glib-aux/nm-enum-utils.h
new file mode 100644
index 0000000000..89be54e77f
--- /dev/null
+++ b/src/libnm-glib-aux/nm-enum-utils.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2017 Red Hat, Inc.
+ */
+
+#ifndef __NM_ENUM_UTILS_H__
+#define __NM_ENUM_UTILS_H__
+
+/*****************************************************************************/
+
+typedef struct _NMUtilsEnumValueInfo {
+ /* currently, this is only used for _nm_utils_enum_from_str_full() to
+ * declare additional aliases for values. */
+ const char *nick;
+ int value;
+} NMUtilsEnumValueInfo;
+
+char * _nm_utils_enum_to_str_full(GType type,
+ int value,
+ const char * sep,
+ const NMUtilsEnumValueInfo *value_infos);
+gboolean _nm_utils_enum_from_str_full(GType type,
+ const char * str,
+ int * out_value,
+ char ** err_token,
+ const NMUtilsEnumValueInfo *value_infos);
+
+const char **_nm_utils_enum_get_values(GType type, int from, int to);
+
+/*****************************************************************************/
+
+#endif /* __NM_ENUM_UTILS_H__ */