NF_BR_NUMHOOKS
#define BASE_CHAIN (par->hook_mask & (1 << NF_BR_NUMHOOKS))
#define CLEAR_BASE_CHAIN_BIT (par->hook_mask &= ~(1 << NF_BR_NUMHOOKS))
struct ebt_entries *hook_entry[NF_BR_NUMHOOKS];
struct ebt_entries __user *hook_entry[NF_BR_NUMHOOKS];
struct ebt_entries *hook_entry[NF_BR_NUMHOOKS];
.hooks = (1 << NF_BR_NUMHOOKS) | (1 << NF_BR_PRE_ROUTING),
hook_mask = par->hook_mask & ~(1 << NF_BR_NUMHOOKS);
.hooks = (1 << NF_BR_NUMHOOKS) | (1 << NF_BR_PRE_ROUTING) |
hook_mask = par->hook_mask & ~(1 << NF_BR_NUMHOOKS);
.hooks = (1 << NF_BR_NUMHOOKS) | (1 << NF_BR_PRE_ROUTING) |
.hooks = (1 << NF_BR_NUMHOOKS) | (1 << NF_BR_POST_ROUTING),
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
compat_uptr_t hook_entry[NF_BR_NUMHOOKS];
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
number += NF_BR_NUMHOOKS;
for (i = 0; i < NF_BR_NUMHOOKS; i++)
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
for (i = 0; i < NF_BR_NUMHOOKS; i++)
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
if (i != NF_BR_NUMHOOKS || !(e->bitmask & EBT_ENTRY_OR_ENTRIES)) {
if (i != NF_BR_NUMHOOKS)
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
if (i != NF_BR_NUMHOOKS || !e->bitmask) {
if (i != NF_BR_NUMHOOKS ||
if (i == NF_BR_NUMHOOKS) /* it's a user defined chain */
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
if (i != NF_BR_NUMHOOKS)
for (i = 0; i < NF_BR_NUMHOOKS; i++) {
if (i < NF_BR_NUMHOOKS)
hookmask = (1 << hook) | (1 << NF_BR_NUMHOOKS);
hookmask = (1 << hook) | (1 << NF_BR_NUMHOOKS);
while (i < NF_BR_NUMHOOKS && !newinfo->hook_entry[i])
if (i == NF_BR_NUMHOOKS)
for (j = i + 1; j < NF_BR_NUMHOOKS; j++) {
for (i = 0; i < NF_BR_NUMHOOKS; i++)