Up until now, the users of the interface data structure simply access
its fields without restriction.  This patch takes the first step
towards abstracting this data structure by giving it a file of its
very own.

Signed-off-by: Richard Cochran <richardcoch...@gmail.com>
---
 config.h    | 15 +--------------
 interface.h | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 14 deletions(-)
 create mode 100644 interface.h

diff --git a/config.h b/config.h
index e27d3e2..14d2f64 100644
--- a/config.h
+++ b/config.h
@@ -26,25 +26,12 @@
 #include "ds.h"
 #include "dm.h"
 #include "filter.h"
+#include "interface.h"
 #include "mtab.h"
 #include "transport.h"
 #include "servo.h"
 #include "sk.h"
 
-#define MAX_IFNAME_SIZE 108 /* = UNIX_PATH_MAX */
-
-#if (IF_NAMESIZE > MAX_IFNAME_SIZE)
-#error if_namesize larger than expected.
-#endif
-
-/** Defines a network interface, with PTP options. */
-struct interface {
-       STAILQ_ENTRY(interface) list;
-       char name[MAX_IFNAME_SIZE + 1];
-       char ts_label[MAX_IFNAME_SIZE + 1];
-       struct sk_ts_info ts_info;
-};
-
 struct config {
        /* configured interfaces */
        STAILQ_HEAD(interfaces_head, interface) interfaces;
diff --git a/interface.h b/interface.h
new file mode 100644
index 0000000..61d53a2
--- /dev/null
+++ b/interface.h
@@ -0,0 +1,28 @@
+/**
+ * @file interface.h
+ * @brief Implements network interface data structures.
+ * @note Copyright (C) 2020 Richard Cochran <richardcoch...@gmail.com>
+ * @note SPDX-License-Identifier: GPL-2.0+
+ */
+#ifndef HAVE_INTERFACE_H
+#define HAVE_INTERFACE_H
+
+#include <sys/queue.h>
+#include "sk.h"
+
+#define MAX_IFNAME_SIZE 108 /* = UNIX_PATH_MAX */
+
+#if (IF_NAMESIZE > MAX_IFNAME_SIZE)
+#error if_namesize larger than expected.
+#endif
+
+/** Defines a network interface, with PTP options. */
+struct interface {
+       STAILQ_ENTRY(interface) list;
+       char name[MAX_IFNAME_SIZE + 1];
+       char ts_label[MAX_IFNAME_SIZE + 1];
+       struct sk_ts_info ts_info;
+};
+
+#endif
+
-- 
2.20.1



_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to