1#ifndef _IP6T_RT_H 2#define _IP6T_RT_H 3 4#include <linux/types.h> 5/*#include <linux/in6.h>*/ 6 7#define IP6T_RT_HOPS 16 8 9struct ip6t_rt { 10 __u32 rt_type; /* Routing Type */ 11 __u32 segsleft[2]; /* Segments Left */ 12 __u32 hdrlen; /* Header Length */ 13 __u8 flags; /* */ 14 __u8 invflags; /* Inverse flags */ 15 struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */ 16 __u8 addrnr; /* Nr of Addresses */ 17}; 18 19#define IP6T_RT_TYP 0x01 20#define IP6T_RT_SGS 0x02 21#define IP6T_RT_LEN 0x04 22#define IP6T_RT_RES 0x08 23#define IP6T_RT_FST_MASK 0x30 24#define IP6T_RT_FST 0x10 25#define IP6T_RT_FST_NSTRICT 0x20 26 27/* Values for "invflags" field in struct ip6t_rt. */ 28#define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */ 29#define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */ 30#define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */ 31#define IP6T_RT_INV_MASK 0x07 /* All possible flags. */ 32 33#endif /*_IP6T_RT_H*/ 34