ip6t_entry
struct ip6t_entry entry;
struct ip6t_entry entry;
.target_offset = sizeof(struct ip6t_entry), \
struct ip6t_entry entries[];
struct ip6t_entry entrytable[];
ip6t_get_target(struct ip6t_entry *e)
XT_MATCH_ITERATE(struct ip6t_entry, e, fn, ## args)
XT_ENTRY_ITERATE(struct ip6t_entry, entries, size, fn, ## args)
struct ip6t_entry *iter;
struct ip6t_entry *iter;
struct ip6t_entry *iter;
compat_copy_entry_to_user(struct ip6t_entry *e, void __user **dstptr,
if (copy_to_user(ce, e, sizeof(struct ip6t_entry)) != 0 ||
static inline struct ip6t_entry *
*size -= sizeof(struct ip6t_entry) - sizeof(struct compat_ip6t_entry);
return (struct ip6t_entry *)(base + offset);
static inline bool unconditional(const struct ip6t_entry *e)
off = sizeof(struct ip6t_entry) - sizeof(struct compat_ip6t_entry);
return e->target_offset == sizeof(struct ip6t_entry) &&
struct ip6t_entry *de;
memcpy(de, e, sizeof(struct ip6t_entry));
*dstptr += sizeof(struct ip6t_entry);
*size += sizeof(struct ip6t_entry) - sizeof(struct compat_ip6t_entry);
ip6t_get_target_c(const struct ip6t_entry *e)
return ip6t_get_target((struct ip6t_entry *)e);
struct ip6t_entry *iter;
struct ip6t_entry *iter;
struct ip6t_entry *iter;
struct ip6t_entry *iter;
get_chainname_rulenum(const struct ip6t_entry *s, const struct ip6t_entry *e,
const struct ip6t_entry *e)
const struct ip6t_entry *root;
const struct ip6t_entry *iter;
static inline struct ip6t_entry *
ip6t_next_entry(const struct ip6t_entry *entry)
struct ip6t_entry *e, **jumpstack;
jumpstack = (struct ip6t_entry **)private->jumpstack[cpu];
struct ip6t_entry *e = entry0 + pos;
static int check_target(struct ip6t_entry *e, struct net *net, const char *name)
find_check_entry(struct ip6t_entry *e, struct net *net, const char *name,
static bool check_underflow(const struct ip6t_entry *e)
check_entry_size_and_hooks(struct ip6t_entry *e,
if ((unsigned long)e % __alignof__(struct ip6t_entry) != 0 ||
(unsigned char *)e + sizeof(struct ip6t_entry) >= limit ||
< sizeof(struct ip6t_entry) + sizeof(struct xt_entry_target))
static void cleanup_entry(struct ip6t_entry *e, struct net *net)
struct ip6t_entry *iter;
struct ip6t_entry *iter;
struct ip6t_entry *iter;
const struct ip6t_entry *e;
+ offsetof(struct ip6t_entry, counters),
for (i = sizeof(struct ip6t_entry);
static int compat_calc_entry(const struct ip6t_entry *e,
off = sizeof(struct ip6t_entry) - sizeof(struct compat_ip6t_entry);
(e < (struct ip6t_entry *)(base + info->hook_entry[i])))
(e < (struct ip6t_entry *)(base + info->underflow[i])))
struct ip6t_entry *iter;
const struct ip6t_entry *e = par->entryinfo;
const struct ip6t_entry *e = par->entryinfo;
struct ip6t_entry e6;
const struct ip6t_entry *e = par->entryinfo;
const struct ip6t_entry *e = par->entryinfo;
const struct ip6t_entry *e = par->entryinfo;
struct ip6t_entry e6;