summaryrefslogtreecommitdiff
path: root/lib/genl/family.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/genl/family.c')
-rw-r--r--lib/genl/family.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/lib/genl/family.c b/lib/genl/family.c
index e8e0c9e0..1749472d 100644
--- a/lib/genl/family.c
+++ b/lib/genl/family.c
@@ -12,15 +12,26 @@
* @{
*/
-#include <netlink-private/genl.h>
+#include "nl-default.h"
+
#include <netlink/netlink.h>
#include <netlink/genl/genl.h>
#include <netlink/genl/family.h>
#include <netlink/utils.h>
-#include "netlink-private/utils.h"
+#include "nl-genl.h"
+#include "nl-priv-dynamic-core/object-api.h"
+#include "nl-priv-dynamic-core/nl-core.h"
/** @cond SKIP */
+struct genl_family_op
+{
+ uint32_t o_id;
+ uint32_t o_flags;
+
+ struct nl_list_head o_list;
+};
+
#define FAMILY_ATTR_ID 0x01
#define FAMILY_ATTR_NAME 0x02
#define FAMILY_ATTR_VERSION 0x04
@@ -153,15 +164,13 @@ static uint64_t family_compare(struct nl_object *_a, struct nl_object *_b,
struct genl_family *b = (struct genl_family *) _b;
uint64_t diff = 0;
-#define FAM_DIFF(ATTR, EXPR) ATTR_DIFF(attrs, FAMILY_ATTR_##ATTR, a, b, EXPR)
-
- diff |= FAM_DIFF(ID, a->gf_id != b->gf_id);
- diff |= FAM_DIFF(VERSION, a->gf_version != b->gf_version);
- diff |= FAM_DIFF(HDRSIZE, a->gf_hdrsize != b->gf_hdrsize);
- diff |= FAM_DIFF(MAXATTR, a->gf_maxattr != b->gf_maxattr);
- diff |= FAM_DIFF(NAME, strcmp(a->gf_name, b->gf_name));
-
-#undef FAM_DIFF
+#define _DIFF(ATTR, EXPR) ATTR_DIFF(attrs, ATTR, a, b, EXPR)
+ diff |= _DIFF(FAMILY_ATTR_ID, a->gf_id != b->gf_id);
+ diff |= _DIFF(FAMILY_ATTR_VERSION, a->gf_version != b->gf_version);
+ diff |= _DIFF(FAMILY_ATTR_HDRSIZE, a->gf_hdrsize != b->gf_hdrsize);
+ diff |= _DIFF(FAMILY_ATTR_MAXATTR, a->gf_maxattr != b->gf_maxattr);
+ diff |= _DIFF(FAMILY_ATTR_NAME, strcmp(a->gf_name, b->gf_name));
+#undef _DIFF
return diff;
}