From c4e6275434c65d64a90edbefa225f582f2ce356e Mon Sep 17 00:00:00 2001
From: Anjan Chanda <anjan.chanda@iopsys.eu>
Date: Mon, 4 Oct 2021 13:10:46 +0200
Subject: [PATCH] remove copy of hlist.h

---
 src/cmdu.h      |   2 +-
 src/cmdu_ackq.h |   2 +-
 src/cmdufrag.h  |   3 +-
 src/cmduqueue.h |   2 +-
 src/hlist.h     | 101 ------------------------------------------------
 src/neigh.h     |   1 -
 6 files changed, 5 insertions(+), 106 deletions(-)
 delete mode 100644 src/hlist.h

diff --git a/src/cmdu.h b/src/cmdu.h
index e1b380c9..bc3d757a 100644
--- a/src/cmdu.h
+++ b/src/cmdu.h
@@ -20,8 +20,8 @@
 #include <sys/time.h>
 #include <libubox/list.h>
 
+#include <easy/easy.h>
 #include "bufutil.h"
-#include "hlist.h"
 
 /** struct cmdu_header - IEEE-1905 CMDU header */
 struct cmdu_header {
diff --git a/src/cmdu_ackq.h b/src/cmdu_ackq.h
index 80d7aa12..6704210e 100644
--- a/src/cmdu_ackq.h
+++ b/src/cmdu_ackq.h
@@ -14,7 +14,7 @@
 #define CMDU_ACKQ_H
 
 
-#include "hlist.h"
+#include <easy/easy.h>
 
 #define CMDU_BACKLOG_MAX	128
 
diff --git a/src/cmdufrag.h b/src/cmdufrag.h
index c1359280..065c1572 100644
--- a/src/cmdufrag.h
+++ b/src/cmdufrag.h
@@ -19,8 +19,9 @@
 #include <sys/time.h>
 #include <libubox/list.h>
 
+#include <easy/easy.h>
+
 #include "bufutil.h"
-#include "hlist.h"
 #include "cmdu.h"
 
 
diff --git a/src/cmduqueue.h b/src/cmduqueue.h
index 1eaec8f7..4f7bd54e 100644
--- a/src/cmduqueue.h
+++ b/src/cmduqueue.h
@@ -18,7 +18,7 @@
 #include <sys/time.h>
 #include <libubox/list.h>
 
-#include "hlist.h"
+#include <easy/easy.h>
 
 
 
diff --git a/src/hlist.h b/src/hlist.h
deleted file mode 100644
index 100fca16..00000000
--- a/src/hlist.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * hlist.h - stripped down version of hash list implementation using
- * singly linked list.
- * Doubly linked list is wastage of space for big hash-tables. If cost of
- * iterating a hash list is significant, it means the hash function is NOT
- * formulated well and should be revisited.
- *
- * Copyright (C) 2021 IOPSYS Software Solutions AB. All rights reserved.
- *
- * Author: anjan.chanda@iopsys.eu
- *
- */
-
-#ifndef _HLIST_H
-#define _HLIST_H
-
-struct hlist_node {
-	struct hlist_node *next;
-};
-
-struct hlist_head {
-	struct hlist_node *first;
-};
-
-#define HLIST_HEAD_INIT(name) { &(name) }
-
-#define HLIST_HEAD(name) struct hlist_head name = HLIST_HEAD_INIT(name)
-
-static inline void INIT_HLIST_HEAD(struct hlist_head *h)
-{
-	h->first = NULL;
-}
-
-static inline void INIT_HLIST_NODE(struct hlist_node *n)
-{
-	n->next = NULL;
-}
-
-static inline int hlist_empty(const struct hlist_head *h)
-{
-	return !h->first;
-}
-
-static inline void __hlist_del(struct hlist_node *prev, struct hlist_node *n)
-{
-	prev->next = n->next;
-	n->next = NULL;
-}
-
-static inline void hlist_del(struct hlist_node *n, struct hlist_head *h)
-{
-	struct hlist_node *p;
-
-	if (h->first == n) {
-		h->first = n->next;
-		n->next = NULL;
-		return;
-	}
-
-	for (p = h->first; p; p = p->next) {
-		if (p->next == n)
-			__hlist_del(p, n);
-	}
-}
-
-static inline void _hlist_add(struct hlist_node *_new, struct hlist_head *h)
-{
-	_new->next = h->first;
-	h->first = _new;
-}
-
-static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
-{
-	_hlist_add(n, h);
-}
-
-#define hlist_for_each(pos, head) \
-	for (pos = (head)->first; pos ; pos = pos->next)
-
-#define hlist_for_each_safe(pos, n, head) \
-	for (pos = (head)->first; pos && ({ n = pos->next; 1; }); \
-	     pos = n)
-
-#define hlist_entry(ptr, type, member) container_of(ptr, type, member)
-
-#define hlist_entry_safe(ptr, type, member) \
-	({ typeof(ptr) ____ptr = (ptr); \
-	   ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
-	})
-
-#define hlist_for_each_entry(pos, head, member)                                \
-	for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);    \
-	     pos;                                                              \
-	     pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
-
-#define hlist_for_each_entry_safe(pos, n, head, member)                   \
-	for (pos = hlist_entry_safe((head)->first, typeof(*pos), member); \
-	     pos && ({ n = pos->member.next; 1; });                       \
-	     pos = hlist_entry_safe(n, typeof(*pos), member))
-
-#endif /* _HLIST_H */
diff --git a/src/neigh.h b/src/neigh.h
index 0724fa6c..1e2cb6c7 100644
--- a/src/neigh.h
+++ b/src/neigh.h
@@ -12,7 +12,6 @@
 
 #include <easy/easy.h>
 
-#include "hlist.h"
 
 #define NEIGH_ENTRIES_MAX		128
 #define NEIGH_AGEOUT_DEFAULT		60000	/* msecs */
-- 
GitLab