arpt_entry
struct arpt_entry entry;
struct arpt_entry entry;
.target_offset = sizeof(struct arpt_entry), \
struct arpt_entry entries[];
struct arpt_entry entrytable[];
static __inline__ struct xt_entry_target *arpt_get_target(struct arpt_entry *e)
XT_ENTRY_ITERATE(struct arpt_entry, entries, size, fn, ## args)
struct arpt_entry *iter;
off = sizeof(struct arpt_entry) - sizeof(struct compat_arpt_entry);
struct arpt_entry *de;
memcpy(de, e, sizeof(struct arpt_entry));
*dstptr += sizeof(struct arpt_entry);
*size += sizeof(struct arpt_entry) - sizeof(struct compat_arpt_entry);
struct arpt_entry *iter;
static int compat_copy_entry_to_user(struct arpt_entry *e, void __user **dstptr,
if (copy_to_user(ce, e, sizeof(struct arpt_entry)) != 0 ||
*size -= sizeof(struct arpt_entry) - sizeof(struct compat_arpt_entry);
struct arpt_entry *iter;
struct arpt_entry *iter;
struct arpt_entry *iter;
arpt_get_target_c(const struct arpt_entry *e)
return arpt_get_target((struct arpt_entry *)e);
static inline struct arpt_entry *
return (struct arpt_entry *)(base + offset);
struct arpt_entry *arpt_next_entry(const struct arpt_entry *entry)
struct arpt_entry *e, **jumpstack;
jumpstack = (struct arpt_entry **)private->jumpstack[cpu];
static inline bool unconditional(const struct arpt_entry *e)
return e->target_offset == sizeof(struct arpt_entry) &&
struct arpt_entry *e = entry0 + pos;
static int check_target(struct arpt_entry *e, struct net *net, const char *name)
find_check_entry(struct arpt_entry *e, struct net *net, const char *name,
static bool check_underflow(const struct arpt_entry *e)
static inline int check_entry_size_and_hooks(struct arpt_entry *e,
if ((unsigned long)e % __alignof__(struct arpt_entry) != 0 ||
(unsigned char *)e + sizeof(struct arpt_entry) >= limit ||
< sizeof(struct arpt_entry) + sizeof(struct xt_entry_target))
static void cleanup_entry(struct arpt_entry *e, struct net *net)
struct arpt_entry *iter;
struct arpt_entry *iter;
struct arpt_entry *iter;
const struct arpt_entry *e;
+ offsetof(struct arpt_entry, counters),
static int compat_calc_entry(const struct arpt_entry *e,
off = sizeof(struct arpt_entry) - sizeof(struct compat_arpt_entry);
(e < (struct arpt_entry *)(base + info->hook_entry[i])))
(e < (struct arpt_entry *)(base + info->underflow[i])))
struct arpt_entry *iter;
struct arpt_entry *iter;
struct arpt_entry *iter;
struct arpt_entry arp;