/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef __LINUX_BRIDGE_NETFILTER_H
#define __LINUX_BRIDGE_NETFILTER_H

#include <linux/netfilter.h>

#define NF_BR_PRE_ROUTING 0

#define NF_BR_LOCAL_IN 1

#define NF_BR_FORWARD 2

#define NF_BR_LOCAL_OUT 3

#define NF_BR_POST_ROUTING 4

#define NF_BR_BROUTING 5
#define NF_BR_NUMHOOKS 6

#endif
