diff options
Diffstat (limited to 'lib/netfilter/log_obj.c')
-rw-r--r-- | lib/netfilter/log_obj.c | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/lib/netfilter/log_obj.c b/lib/netfilter/log_obj.c index e26e5bd9..acfe58b8 100644 --- a/lib/netfilter/log_obj.c +++ b/lib/netfilter/log_obj.c @@ -6,11 +6,29 @@ * Copyright (c) 2008 Patrick McHardy <kaber@trash.net> */ -#include <netlink-private/netlink.h> +#include "nl-default.h" + #include <netlink/netfilter/nfnl.h> #include <netlink/netfilter/log.h> +#include "nl-priv-dynamic-core/object-api.h" +#include "nl-priv-dynamic-core/cache-api.h" +#include "nl-priv-dynamic-core/nl-core.h" + /** @cond SKIP */ +struct nfnl_log { + NLHDR_COMMON + + uint16_t log_group; + uint8_t log_copy_mode; + uint32_t log_copy_range; + uint32_t log_flush_timeout; + uint32_t log_alloc_size; + uint32_t log_queue_threshold; + uint32_t log_flags; + uint32_t log_flag_mask; +}; + #define LOG_ATTR_GROUP (1UL << 0) #define LOG_ATTR_COPY_MODE (1UL << 1) #define LOG_ATTR_COPY_RANGE (1UL << 3) @@ -237,17 +255,15 @@ static uint64_t nfnl_log_compare(struct nl_object *_a, struct nl_object *_b, uint64_t diff = 0; #define NFNL_LOG_DIFF(ATTR, EXPR) \ - ATTR_DIFF(attrs, LOG_ATTR_##ATTR, a, b, EXPR) + ATTR_DIFF(attrs, ATTR, a, b, EXPR) #define NFNL_LOG_DIFF_VAL(ATTR, FIELD) \ NFNL_LOG_DIFF(ATTR, a->FIELD != b->FIELD) - - diff |= NFNL_LOG_DIFF_VAL(GROUP, log_group); - diff |= NFNL_LOG_DIFF_VAL(COPY_MODE, log_copy_mode); - diff |= NFNL_LOG_DIFF_VAL(COPY_RANGE, log_copy_range); - diff |= NFNL_LOG_DIFF_VAL(FLUSH_TIMEOUT, log_flush_timeout); - diff |= NFNL_LOG_DIFF_VAL(ALLOC_SIZE, log_alloc_size); - diff |= NFNL_LOG_DIFF_VAL(QUEUE_THRESHOLD, log_queue_threshold); - + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_GROUP, log_group); + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_COPY_MODE, log_copy_mode); + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_COPY_RANGE, log_copy_range); + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_FLUSH_TIMEOUT, log_flush_timeout); + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_ALLOC_SIZE, log_alloc_size); + diff |= NFNL_LOG_DIFF_VAL(LOG_ATTR_QUEUE_THRESHOLD, log_queue_threshold); #undef NFNL_LOG_DIFF #undef NFNL_LOG_DIFF_VAL |