| /**************************************************************************** | 
 |  **************************************************************************** | 
 |  *** | 
 |  ***   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. | 
 |  *** | 
 |  ***   To edit the content of this header, modify the corresponding | 
 |  ***   source file (e.g. under external/kernel-headers/original/) then | 
 |  ***   run bionic/libc/kernel/tools/update_all.py | 
 |  *** | 
 |  ***   Any manual change here will be lost the next time this script will | 
 |  ***   be run. You've been warned! | 
 |  *** | 
 |  **************************************************************************** | 
 |  ****************************************************************************/ | 
 | #ifndef __LINUX_FIB_RULES_H | 
 | #define __LINUX_FIB_RULES_H | 
 | #include <linux/types.h> | 
 | #include <linux/rtnetlink.h> | 
 | #define FIB_RULE_PERMANENT 0x00000001 | 
 | #define FIB_RULE_INVERT 0x00000002 | 
 | #define FIB_RULE_UNRESOLVED 0x00000004 | 
 | #define FIB_RULE_IIF_DETACHED 0x00000008 | 
 | #define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED | 
 | #define FIB_RULE_OIF_DETACHED 0x00000010 | 
 | #define FIB_RULE_FIND_SADDR 0x00010000 | 
 | struct fib_rule_hdr { | 
 |   __u8 family; | 
 |   __u8 dst_len; | 
 |   __u8 src_len; | 
 |   __u8 tos; | 
 |   __u8 table; | 
 |   __u8 res1; | 
 |   __u8 res2; | 
 |   __u8 action; | 
 |   __u32 flags; | 
 | }; | 
 | struct fib_rule_uid_range { | 
 |   __u32 start; | 
 |   __u32 end; | 
 | }; | 
 | struct fib_rule_port_range { | 
 |   __u16 start; | 
 |   __u16 end; | 
 | }; | 
 | enum { | 
 |   FRA_UNSPEC, | 
 |   FRA_DST, | 
 |   FRA_SRC, | 
 |   FRA_IIFNAME, | 
 | #define FRA_IFNAME FRA_IIFNAME | 
 |   FRA_GOTO, | 
 |   FRA_UNUSED2, | 
 |   FRA_PRIORITY, | 
 |   FRA_UNUSED3, | 
 |   FRA_UNUSED4, | 
 |   FRA_UNUSED5, | 
 |   FRA_FWMARK, | 
 |   FRA_FLOW, | 
 |   FRA_TUN_ID, | 
 |   FRA_SUPPRESS_IFGROUP, | 
 |   FRA_SUPPRESS_PREFIXLEN, | 
 |   FRA_TABLE, | 
 |   FRA_FWMASK, | 
 |   FRA_OIFNAME, | 
 |   FRA_PAD, | 
 |   FRA_L3MDEV, | 
 |   FRA_UID_RANGE, | 
 |   FRA_PROTOCOL, | 
 |   FRA_IP_PROTO, | 
 |   FRA_SPORT_RANGE, | 
 |   FRA_DPORT_RANGE, | 
 |   __FRA_MAX | 
 | }; | 
 | #define FRA_MAX (__FRA_MAX - 1) | 
 | enum { | 
 |   FR_ACT_UNSPEC, | 
 |   FR_ACT_TO_TBL, | 
 |   FR_ACT_GOTO, | 
 |   FR_ACT_NOP, | 
 |   FR_ACT_RES3, | 
 |   FR_ACT_RES4, | 
 |   FR_ACT_BLACKHOLE, | 
 |   FR_ACT_UNREACHABLE, | 
 |   FR_ACT_PROHIBIT, | 
 |   __FR_ACT_MAX, | 
 | }; | 
 | #define FR_ACT_MAX (__FR_ACT_MAX - 1) | 
 | #endif |