mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 05:47:13 +02:00
72 lines
2.0 KiB
Diff
72 lines
2.0 KiB
Diff
diff --git a/python-ethtool/etherinfo.c b/python-ethtool/etherinfo.c
|
|
index 3d2072b..23f03c6 100644
|
|
--- a/python-ethtool/etherinfo.c
|
|
+++ b/python-ethtool/etherinfo.c
|
|
@@ -30,6 +30,52 @@
|
|
#include "etherinfo_struct.h"
|
|
#include "etherinfo.h"
|
|
|
|
+#ifdef LIBNL_1_0
|
|
+#define NLHDR_COMMON \
|
|
+ int ce_refcnt; \
|
|
+ struct nl_object_ops * ce_ops; \
|
|
+ struct nl_cache * ce_cache; \
|
|
+ struct nl_list_head ce_list; \
|
|
+ int ce_msgtype; \
|
|
+ int ce_flags; \
|
|
+ uint32_t ce_mask;
|
|
+
|
|
+struct nl_cache
|
|
+{
|
|
+ struct nl_list_head c_items;
|
|
+ int c_nitems;
|
|
+ int c_iarg1;
|
|
+ int c_iarg2;
|
|
+ struct nl_cache_ops * c_ops;
|
|
+};
|
|
+
|
|
+struct nl_object
|
|
+{
|
|
+ NLHDR_COMMON
|
|
+};
|
|
+
|
|
+void nl_cache_free(struct nl_cache *cache)
|
|
+{
|
|
+ struct nl_object *obj, *tmp;
|
|
+
|
|
+ if( !cache )
|
|
+ return;
|
|
+
|
|
+ nl_list_for_each_entry_safe(obj, tmp, &cache->c_items, ce_list) {
|
|
+ struct nl_cache *cache = obj->ce_cache;
|
|
+ if( !cache ) {
|
|
+ break;
|
|
+ }
|
|
+
|
|
+ nl_list_del(&obj->ce_list);
|
|
+ obj->ce_cache = NULL;
|
|
+ nl_object_put(obj);
|
|
+ cache->c_nitems--;
|
|
+ }
|
|
+ free(cache);
|
|
+}
|
|
+#endif
|
|
+
|
|
/*
|
|
*
|
|
* Internal functions for working with struct etherinfo
|
|
diff --git a/setup.py b/setup.py
|
|
index bde04dc..9adff64 100644
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -67,7 +67,8 @@ setup(name='ethtool',
|
|
include_dirs = libnl['include'],
|
|
library_dirs = libnl['libdirs'],
|
|
libraries = libnl['libs'],
|
|
- define_macros = [('VERSION', '"%s"' % version)]
|
|
+ define_macros = [('VERSION', '"%s"' % version),
|
|
+ ('LIBNL_1_0', None)]
|
|
)
|
|
]
|
|
)
|