xt_string.h revision 78d2d14211466f1986882ba6bdf82e6429ce78dc
1b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy#ifndef _XT_STRING_H
2b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy#define _XT_STRING_H
3b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy
4b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy#define XT_STRING_MAX_PATTERN_SIZE 128
5b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy#define XT_STRING_MAX_ALGO_NAME_SIZE 16
6b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy
778d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Parkenum {
878d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park	XT_STRING_FLAG_INVERT		= 0x01,
978d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park	XT_STRING_FLAG_IGNORECASE 	= 0x02
1078d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park};
1178d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park
12b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardystruct xt_string_info
13b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy{
14b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	u_int16_t from_offset;
15b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	u_int16_t to_offset;
16b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	char	  algo[XT_STRING_MAX_ALGO_NAME_SIZE];
17b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	char 	  pattern[XT_STRING_MAX_PATTERN_SIZE];
18b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	u_int8_t  patlen;
1978d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park	union {
2078d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park		struct {
2178d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park			u_int8_t invert;
2278d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park		} v0;
2378d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park
2478d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park		struct {
2578d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park			u_int8_t flags;
2678d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park		} v1;
2778d2d14211466f1986882ba6bdf82e6429ce78dcJoonwoo Park	} u;
28e0bba47e550420e371c97425cc6d39909a6e059bPatrick McHardy
29e0bba47e550420e371c97425cc6d39909a6e059bPatrick McHardy	/* Used internally by the kernel */
30b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy	struct ts_config __attribute__((aligned(8))) *config;
31b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy};
32b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy
33b8a0a100a68098c0329735b5724d9c0b425e72ebPatrick McHardy#endif /*_XT_STRING_H*/
34