12 #ifndef NETLINK_OBJECT_API_H_
13 #define NETLINK_OBJECT_API_H_
15 #include <netlink/netlink.h>
16 #include <netlink/utils.h>
184 #define NLHDR_COMMON \
186 struct nl_object_ops * ce_ops; \
187 struct nl_cache * ce_cache; \
188 struct nl_list_head ce_list; \
207 #define AVAILABLE(A, B, ATTR) (((A)->ce_mask & (B)->ce_mask) & (ATTR))
218 #define AVAILABLE_MISMATCH(A, B, ATTR) (((A)->ce_mask ^ (B)->ce_mask) & (ATTR))
235 #define ATTR_MISMATCH(A, B, ATTR, EXPR) (AVAILABLE_MISMATCH(A, B, ATTR) || \
236 (AVAILABLE(A, B, ATTR) && (EXPR)))
259 #define ATTR_DIFF(LIST, ATTR, A, B, EXPR) \
261 if (((LIST) & (ATTR)) && ATTR_MISMATCH(A, B, ATTR, EXPR)) \
281 uint32_t oo_id_attrs;
339 char *(*oo_attrs2str)(int,
char *, size_t);