131317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#ifndef _IP6T_OPTS_H
231317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define _IP6T_OPTS_H
331317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy
4dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt#include <linux/types.h>
5dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt
631317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_OPTSNR 16
731317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy
8350661a6eb089f3e54e67e022db9e16ea280499fJan Engelhardtstruct ip6t_opts {
9dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt	__u32 hdrlen;			/* Header Length */
10dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt	__u8 flags;				/*  */
11dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt	__u8 invflags;			/* Inverse flags */
12dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt	__u16 opts[IP6T_OPTS_OPTSNR];	/* opts */
13dbe77cc974cee656eae37e75039dd1a410a4535bJan Engelhardt	__u8 optsnr;			/* Nr of OPts */
1431317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy};
1531317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy
1631317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_LEN 		0x01
1731317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_OPTS 		0x02
1831317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_NSTRICT	0x04
1931317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy
2031317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy/* Values for "invflags" field in struct ip6t_rt. */
2131317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_INV_LEN	0x01	/* Invert the sense of length. */
2231317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#define IP6T_OPTS_INV_MASK	0x01	/* All possible flags. */
2331317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy
2431317ed1f9103434adda716abbe65e9fc7bdd418Patrick McHardy#endif /*_IP6T_OPTS_H*/
25