about summary refs log tree commit diff
path: root/src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:36:45 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:36:45 +0100
commitd92aa7f298fe84d4cf686c5ad64b73438e00d377 (patch)
tree2f1f4c7b48cff9e63b0d0e3669bada3d9aeda72e /src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
parenta82e048a943092315a32d745c99e0f5635e29134 (diff)
parent3a56bce6c0ea7ba0fe269520547740783b342e0d (diff)
Merge branch 'upstream/latest' of https://salsa.debian.org/utopia-team/network-manager into upstream/latest
Diffstat (limited to 'src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h')
-rw-r--r--src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h b/src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
new file mode 100644
index 00000000..dd0e15fb
--- /dev/null
+++ b/src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Tom Parker <palfrey@tevp.net>
+ * Copyright (C) 2004 Tom Parker
+ */
+
+#ifndef _INTERFACE_PARSER_H
+#define _INTERFACE_PARSER_H
+
+#include "c-list/src/c-list.h"
+
+typedef struct {
+    CList       data_lst;
+    const char *data;
+    const char  key[];
+} if_data;
+
+typedef struct {
+    CList       block_lst;
+    CList       data_lst_head;
+    const char *type;
+    const char  name[];
+} if_block;
+
+typedef struct {
+    CList block_lst_head;
+} if_parser;
+
+if_parser *ifparser_parse(const char *eni_file, int quiet);
+
+void ifparser_destroy(if_parser *parser);
+NM_AUTO_DEFINE_FCN0(if_parser *, _nm_auto_ifparser, ifparser_destroy);
+#define nm_auto_ifparser nm_auto(_nm_auto_ifparser)
+
+if_block *  ifparser_getif(if_parser *parser, const char *iface);
+if_block *  ifparser_getfirst(if_parser *parser);
+const char *ifparser_getkey(if_block *iface, const char *key);
+gboolean    ifparser_haskey(if_block *iface, const char *key);
+
+guint ifparser_get_num_blocks(if_parser *parser);
+guint ifparser_get_num_info(if_block *iface);
+
+#endif