1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_FIB_RULES_H
20 #define __LINUX_FIB_RULES_H
21 #include <linux/types.h>
22 #include <linux/rtnetlink.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define FIB_RULE_PERMANENT 0x00000001
25 #define FIB_RULE_INVERT 0x00000002
26 #define FIB_RULE_UNRESOLVED 0x00000004
27 #define FIB_RULE_IIF_DETACHED 0x00000008
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED
30 #define FIB_RULE_OIF_DETACHED 0x00000010
31 #define FIB_RULE_FIND_SADDR 0x00010000
32 struct fib_rule_hdr {
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   __u8 family;
35   __u8 dst_len;
36   __u8 src_len;
37   __u8 tos;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   __u8 table;
40   __u8 res1;
41   __u8 res2;
42   __u8 action;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   __u32 flags;
45 };
46 struct fib_rule_uid_range {
47   __u32 start;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   __u32 end;
50 };
51 enum {
52   FRA_UNSPEC,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   FRA_DST,
55   FRA_SRC,
56   FRA_IIFNAME,
57 #define FRA_IFNAME FRA_IIFNAME
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   FRA_GOTO,
60   FRA_UNUSED2,
61   FRA_PRIORITY,
62   FRA_UNUSED3,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   FRA_UNUSED4,
65   FRA_UNUSED5,
66   FRA_FWMARK,
67   FRA_FLOW,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   FRA_TUN_ID,
70   FRA_SUPPRESS_IFGROUP,
71   FRA_SUPPRESS_PREFIXLEN,
72   FRA_TABLE,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   FRA_FWMASK,
75   FRA_OIFNAME,
76   FRA_PAD,
77   FRA_L3MDEV,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   FRA_UID_RANGE,
80   __FRA_MAX
81 };
82 #define FRA_MAX (__FRA_MAX - 1)
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 enum {
85   FR_ACT_UNSPEC,
86   FR_ACT_TO_TBL,
87   FR_ACT_GOTO,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89   FR_ACT_NOP,
90   FR_ACT_RES3,
91   FR_ACT_RES4,
92   FR_ACT_BLACKHOLE,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   FR_ACT_UNREACHABLE,
95   FR_ACT_PROHIBIT,
96   __FR_ACT_MAX,
97 };
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define FR_ACT_MAX (__FR_ACT_MAX - 1)
100 #endif
101