about summary refs log tree commit diff
path: root/src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-02-11 18:12:43 +0100
committerMichael Biebl <biebl@debian.org>2021-02-11 18:12:43 +0100
commit8f0db010e71e252ac290d51bd2a5b0a078f1d279 (patch)
tree2caa344fefcd9bb4218583c5aa2e0f92f4b2aa8c /src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h
parentf54032b30e1ddd84f10a339e0caf493772e049a7 (diff)
parent80ec1decc49c72efec2a8b87c06245c92c0ab807 (diff)
Update upstream source from tag 'upstream/1.29.90'
Update to upstream version '1.29.90'
with Debian dir 90df6d97476cc3200c410f3f3603b87396175c7a
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