• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_RTNETLINK_H
20 #define __LINUX_RTNETLINK_H
21 #include <linux/types.h>
22 #include <linux/netlink.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/if_link.h>
25 #include <linux/if_addr.h>
26 #include <linux/neighbour.h>
27 #define RTNL_FAMILY_IPMR 128
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define RTNL_FAMILY_IP6MR 129
30 #define RTNL_FAMILY_MAX 129
31 enum {
32  RTM_BASE = 16,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define RTM_BASE RTM_BASE
35  RTM_NEWLINK = 16,
36 #define RTM_NEWLINK RTM_NEWLINK
37  RTM_DELLINK,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define RTM_DELLINK RTM_DELLINK
40  RTM_GETLINK,
41 #define RTM_GETLINK RTM_GETLINK
42  RTM_SETLINK,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define RTM_SETLINK RTM_SETLINK
45  RTM_NEWADDR = 20,
46 #define RTM_NEWADDR RTM_NEWADDR
47  RTM_DELADDR,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define RTM_DELADDR RTM_DELADDR
50  RTM_GETADDR,
51 #define RTM_GETADDR RTM_GETADDR
52  RTM_NEWROUTE = 24,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define RTM_NEWROUTE RTM_NEWROUTE
55  RTM_DELROUTE,
56 #define RTM_DELROUTE RTM_DELROUTE
57  RTM_GETROUTE,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define RTM_GETROUTE RTM_GETROUTE
60  RTM_NEWNEIGH = 28,
61 #define RTM_NEWNEIGH RTM_NEWNEIGH
62  RTM_DELNEIGH,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define RTM_DELNEIGH RTM_DELNEIGH
65  RTM_GETNEIGH,
66 #define RTM_GETNEIGH RTM_GETNEIGH
67  RTM_NEWRULE = 32,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define RTM_NEWRULE RTM_NEWRULE
70  RTM_DELRULE,
71 #define RTM_DELRULE RTM_DELRULE
72  RTM_GETRULE,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define RTM_GETRULE RTM_GETRULE
75  RTM_NEWQDISC = 36,
76 #define RTM_NEWQDISC RTM_NEWQDISC
77  RTM_DELQDISC,
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define RTM_DELQDISC RTM_DELQDISC
80  RTM_GETQDISC,
81 #define RTM_GETQDISC RTM_GETQDISC
82  RTM_NEWTCLASS = 40,
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define RTM_NEWTCLASS RTM_NEWTCLASS
85  RTM_DELTCLASS,
86 #define RTM_DELTCLASS RTM_DELTCLASS
87  RTM_GETTCLASS,
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define RTM_GETTCLASS RTM_GETTCLASS
90  RTM_NEWTFILTER = 44,
91 #define RTM_NEWTFILTER RTM_NEWTFILTER
92  RTM_DELTFILTER,
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define RTM_DELTFILTER RTM_DELTFILTER
95  RTM_GETTFILTER,
96 #define RTM_GETTFILTER RTM_GETTFILTER
97  RTM_NEWACTION = 48,
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define RTM_NEWACTION RTM_NEWACTION
100  RTM_DELACTION,
101 #define RTM_DELACTION RTM_DELACTION
102  RTM_GETACTION,
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define RTM_GETACTION RTM_GETACTION
105  RTM_NEWPREFIX = 52,
106 #define RTM_NEWPREFIX RTM_NEWPREFIX
107  RTM_GETMULTICAST = 58,
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define RTM_GETMULTICAST RTM_GETMULTICAST
110  RTM_GETANYCAST = 62,
111 #define RTM_GETANYCAST RTM_GETANYCAST
112  RTM_NEWNEIGHTBL = 64,
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define RTM_NEWNEIGHTBL RTM_NEWNEIGHTBL
115  RTM_GETNEIGHTBL = 66,
116 #define RTM_GETNEIGHTBL RTM_GETNEIGHTBL
117  RTM_SETNEIGHTBL,
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define RTM_SETNEIGHTBL RTM_SETNEIGHTBL
120  RTM_NEWNDUSEROPT = 68,
121 #define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
122  RTM_NEWADDRLABEL = 72,
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
125  RTM_DELADDRLABEL,
126 #define RTM_DELADDRLABEL RTM_DELADDRLABEL
127  RTM_GETADDRLABEL,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #define RTM_GETADDRLABEL RTM_GETADDRLABEL
130  RTM_GETDCB = 78,
131 #define RTM_GETDCB RTM_GETDCB
132  RTM_SETDCB,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 #define RTM_SETDCB RTM_SETDCB
135  __RTM_MAX,
136 #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
137 };
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define RTM_NR_MSGTYPES (RTM_MAX + 1 - RTM_BASE)
140 #define RTM_NR_FAMILIES (RTM_NR_MSGTYPES >> 2)
141 #define RTM_FAM(cmd) (((cmd) - RTM_BASE) >> 2)
142 struct rtattr {
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  unsigned short rta_len;
145  unsigned short rta_type;
146 };
147 #define RTA_ALIGNTO 4
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) )
150 #define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) &&   (rta)->rta_len >= sizeof(struct rtattr) &&   (rta)->rta_len <= (len))
151 #define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len),   (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rta)->rta_len)))
152 #define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len))
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len))
155 #define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0)))
156 #define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0))
157 struct rtmsg {
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  unsigned char rtm_family;
160  unsigned char rtm_dst_len;
161  unsigned char rtm_src_len;
162  unsigned char rtm_tos;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  unsigned char rtm_table;
165  unsigned char rtm_protocol;
166  unsigned char rtm_scope;
167  unsigned char rtm_type;
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  unsigned rtm_flags;
170 };
171 enum {
172  RTN_UNSPEC,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  RTN_UNICAST,
175  RTN_LOCAL,
176  RTN_BROADCAST,
177  RTN_ANYCAST,
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  RTN_MULTICAST,
180  RTN_BLACKHOLE,
181  RTN_UNREACHABLE,
182  RTN_PROHIBIT,
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  RTN_THROW,
185  RTN_NAT,
186  RTN_XRESOLVE,
187  __RTN_MAX
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 };
190 #define RTN_MAX (__RTN_MAX - 1)
191 #define RTPROT_UNSPEC 0
192 #define RTPROT_REDIRECT 1
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define RTPROT_KERNEL 2
195 #define RTPROT_BOOT 3
196 #define RTPROT_STATIC 4
197 #define RTPROT_GATED 8
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define RTPROT_RA 9
200 #define RTPROT_MRT 10
201 #define RTPROT_ZEBRA 11
202 #define RTPROT_BIRD 12
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define RTPROT_DNROUTED 13
205 #define RTPROT_XORP 14
206 #define RTPROT_NTK 15
207 #define RTPROT_DHCP 16
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 enum rt_scope_t {
210  RT_SCOPE_UNIVERSE=0,
211  RT_SCOPE_SITE=200,
212  RT_SCOPE_LINK=253,
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  RT_SCOPE_HOST=254,
215  RT_SCOPE_NOWHERE=255
216 };
217 #define RTM_F_NOTIFY 0x100
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 #define RTM_F_CLONED 0x200
220 #define RTM_F_EQUALIZE 0x400
221 #define RTM_F_PREFIX 0x800
222 enum rt_class_t {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  RT_TABLE_UNSPEC=0,
225  RT_TABLE_COMPAT=252,
226  RT_TABLE_DEFAULT=253,
227  RT_TABLE_MAIN=254,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  RT_TABLE_LOCAL=255,
230  RT_TABLE_MAX=0xFFFFFFFF
231 };
232 enum rtattr_type_t {
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  RTA_UNSPEC,
235  RTA_DST,
236  RTA_SRC,
237  RTA_IIF,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  RTA_OIF,
240  RTA_GATEWAY,
241  RTA_PRIORITY,
242  RTA_PREFSRC,
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  RTA_METRICS,
245  RTA_MULTIPATH,
246  RTA_PROTOINFO,
247  RTA_FLOW,
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  RTA_CACHEINFO,
250  RTA_SESSION,
251  RTA_MP_ALGO,
252  RTA_TABLE,
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  RTA_MARK,
255  __RTA_MAX
256 };
257 #define RTA_MAX (__RTA_MAX - 1)
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 #define RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg))))
260 #define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg))
261 struct rtnexthop {
262  unsigned short rtnh_len;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  unsigned char rtnh_flags;
265  unsigned char rtnh_hops;
266  int rtnh_ifindex;
267 };
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 #define RTNH_F_DEAD 1
270 #define RTNH_F_PERVASIVE 2
271 #define RTNH_F_ONLINK 4
272 #define RTNH_ALIGNTO 4
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 #define RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) )
275 #define RTNH_OK(rtnh,len) ((rtnh)->rtnh_len >= sizeof(struct rtnexthop) &&   ((int)(rtnh)->rtnh_len) <= (len))
276 #define RTNH_NEXT(rtnh) ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len)))
277 #define RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len))
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 #define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len))
280 #define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0)))
281 struct rta_cacheinfo {
282  __u32 rta_clntref;
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  __u32 rta_lastuse;
285  __s32 rta_expires;
286  __u32 rta_error;
287  __u32 rta_used;
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 #define RTNETLINK_HAVE_PEERINFO 1
290  __u32 rta_id;
291  __u32 rta_ts;
292  __u32 rta_tsage;
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 };
295 enum {
296  RTAX_UNSPEC,
297 #define RTAX_UNSPEC RTAX_UNSPEC
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  RTAX_LOCK,
300 #define RTAX_LOCK RTAX_LOCK
301  RTAX_MTU,
302 #define RTAX_MTU RTAX_MTU
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  RTAX_WINDOW,
305 #define RTAX_WINDOW RTAX_WINDOW
306  RTAX_RTT,
307 #define RTAX_RTT RTAX_RTT
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  RTAX_RTTVAR,
310 #define RTAX_RTTVAR RTAX_RTTVAR
311  RTAX_SSTHRESH,
312 #define RTAX_SSTHRESH RTAX_SSTHRESH
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  RTAX_CWND,
315 #define RTAX_CWND RTAX_CWND
316  RTAX_ADVMSS,
317 #define RTAX_ADVMSS RTAX_ADVMSS
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  RTAX_REORDERING,
320 #define RTAX_REORDERING RTAX_REORDERING
321  RTAX_HOPLIMIT,
322 #define RTAX_HOPLIMIT RTAX_HOPLIMIT
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  RTAX_INITCWND,
325 #define RTAX_INITCWND RTAX_INITCWND
326  RTAX_FEATURES,
327 #define RTAX_FEATURES RTAX_FEATURES
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  RTAX_RTO_MIN,
330 #define RTAX_RTO_MIN RTAX_RTO_MIN
331  RTAX_INITRWND,
332 #define RTAX_INITRWND RTAX_INITRWND
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  __RTAX_MAX
335 };
336 #define RTAX_MAX (__RTAX_MAX - 1)
337 #define RTAX_FEATURE_ECN 0x00000001
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 #define RTAX_FEATURE_SACK 0x00000002
340 #define RTAX_FEATURE_TIMESTAMP 0x00000004
341 #define RTAX_FEATURE_ALLFRAG 0x00000008
342 struct rta_session {
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  __u8 proto;
345  __u8 pad1;
346  __u16 pad2;
347  union {
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  struct {
350  __u16 sport;
351  __u16 dport;
352  } ports;
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  struct {
355  __u8 type;
356  __u8 code;
357  __u16 ident;
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  } icmpt;
360  __u32 spi;
361  } u;
362 };
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 struct rtgenmsg {
365  unsigned char rtgen_family;
366 };
367 struct ifinfomsg {
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  unsigned char ifi_family;
370  unsigned char __ifi_pad;
371  unsigned short ifi_type;
372  int ifi_index;
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  unsigned ifi_flags;
375  unsigned ifi_change;
376 };
377 struct prefixmsg {
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  unsigned char prefix_family;
380  unsigned char prefix_pad1;
381  unsigned short prefix_pad2;
382  int prefix_ifindex;
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  unsigned char prefix_type;
385  unsigned char prefix_len;
386  unsigned char prefix_flags;
387  unsigned char prefix_pad3;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 };
390 enum
391 {
392  PREFIX_UNSPEC,
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394  PREFIX_ADDRESS,
395  PREFIX_CACHEINFO,
396  __PREFIX_MAX
397 };
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 #define PREFIX_MAX (__PREFIX_MAX - 1)
400 struct prefix_cacheinfo {
401  __u32 preferred_time;
402  __u32 valid_time;
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404 };
405 struct tcmsg {
406  unsigned char tcm_family;
407  unsigned char tcm__pad1;
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409  unsigned short tcm__pad2;
410  int tcm_ifindex;
411  __u32 tcm_handle;
412  __u32 tcm_parent;
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  __u32 tcm_info;
415 };
416 enum {
417  TCA_UNSPEC,
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  TCA_KIND,
420  TCA_OPTIONS,
421  TCA_STATS,
422  TCA_XSTATS,
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424  TCA_RATE,
425  TCA_FCNT,
426  TCA_STATS2,
427  TCA_STAB,
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429  __TCA_MAX
430 };
431 #define TCA_MAX (__TCA_MAX - 1)
432 #define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
435 struct nduseroptmsg {
436  unsigned char nduseropt_family;
437  unsigned char nduseropt_pad1;
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439  unsigned short nduseropt_opts_len;
440  int nduseropt_ifindex;
441  __u8 nduseropt_icmp_type;
442  __u8 nduseropt_icmp_code;
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444  unsigned short nduseropt_pad2;
445  unsigned int nduseropt_pad3;
446 };
447 enum {
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449  NDUSEROPT_UNSPEC,
450  NDUSEROPT_SRCADDR,
451  __NDUSEROPT_MAX
452 };
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 #define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1)
455 #define RTMGRP_LINK 1
456 #define RTMGRP_NOTIFY 2
457 #define RTMGRP_NEIGH 4
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 #define RTMGRP_TC 8
460 #define RTMGRP_IPV4_IFADDR 0x10
461 #define RTMGRP_IPV4_MROUTE 0x20
462 #define RTMGRP_IPV4_ROUTE 0x40
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 #define RTMGRP_IPV4_RULE 0x80
465 #define RTMGRP_IPV6_IFADDR 0x100
466 #define RTMGRP_IPV6_MROUTE 0x200
467 #define RTMGRP_IPV6_ROUTE 0x400
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 #define RTMGRP_IPV6_IFINFO 0x800
470 #define RTMGRP_DECnet_IFADDR 0x1000
471 #define RTMGRP_DECnet_ROUTE 0x4000
472 #define RTMGRP_IPV6_PREFIX 0x20000
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 enum rtnetlink_groups {
475  RTNLGRP_NONE,
476 #define RTNLGRP_NONE RTNLGRP_NONE
477  RTNLGRP_LINK,
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 #define RTNLGRP_LINK RTNLGRP_LINK
480  RTNLGRP_NOTIFY,
481 #define RTNLGRP_NOTIFY RTNLGRP_NOTIFY
482  RTNLGRP_NEIGH,
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 #define RTNLGRP_NEIGH RTNLGRP_NEIGH
485  RTNLGRP_TC,
486 #define RTNLGRP_TC RTNLGRP_TC
487  RTNLGRP_IPV4_IFADDR,
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 #define RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_IFADDR
490  RTNLGRP_IPV4_MROUTE,
491 #define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE
492  RTNLGRP_IPV4_ROUTE,
493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494 #define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE
495  RTNLGRP_IPV4_RULE,
496 #define RTNLGRP_IPV4_RULE RTNLGRP_IPV4_RULE
497  RTNLGRP_IPV6_IFADDR,
498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499 #define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR
500  RTNLGRP_IPV6_MROUTE,
501 #define RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_MROUTE
502  RTNLGRP_IPV6_ROUTE,
503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504 #define RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_ROUTE
505  RTNLGRP_IPV6_IFINFO,
506 #define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO
507  RTNLGRP_DECnet_IFADDR,
508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509 #define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR
510  RTNLGRP_NOP2,
511  RTNLGRP_DECnet_ROUTE,
512 #define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514  RTNLGRP_DECnet_RULE,
515 #define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE
516  RTNLGRP_NOP4,
517  RTNLGRP_IPV6_PREFIX,
518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519 #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
520  RTNLGRP_IPV6_RULE,
521 #define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE
522  RTNLGRP_ND_USEROPT,
523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524 #define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT
525  RTNLGRP_PHONET_IFADDR,
526 #define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR
527  RTNLGRP_PHONET_ROUTE,
528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529 #define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
530  __RTNLGRP_MAX
531 };
532 #define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534 struct tcamsg {
535  unsigned char tca_family;
536  unsigned char tca__pad1;
537  unsigned short tca__pad2;
538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539 };
540 #define TA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg))))
541 #define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg))
542 #define TCA_ACT_TAB 1
543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544 #define TCAA_MAX 1
545 #endif
546