blob: 235347c02eab523e0d10b7da92027e56685f460c [file] [log] [blame]
Harald Welte2e4e6a12006-01-12 13:30:04 -08001#ifndef _XT_STRING_H
2#define _XT_STRING_H
3
Arnd Bergmann60c195c2009-02-26 00:51:43 +01004#include <linux/types.h>
5
Harald Welte2e4e6a12006-01-12 13:30:04 -08006#define XT_STRING_MAX_PATTERN_SIZE 128
7#define XT_STRING_MAX_ALGO_NAME_SIZE 16
8
Joonwoo Park4ad3f262008-07-08 02:38:56 -07009enum {
10 XT_STRING_FLAG_INVERT = 0x01,
11 XT_STRING_FLAG_IGNORECASE = 0x02
12};
13
Eric Dumazetd94d9fe2009-11-04 09:50:58 -080014struct xt_string_info {
Arnd Bergmann60c195c2009-02-26 00:51:43 +010015 __u16 from_offset;
16 __u16 to_offset;
Harald Welte2e4e6a12006-01-12 13:30:04 -080017 char algo[XT_STRING_MAX_ALGO_NAME_SIZE];
18 char pattern[XT_STRING_MAX_PATTERN_SIZE];
Arnd Bergmann60c195c2009-02-26 00:51:43 +010019 __u8 patlen;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070020 union {
21 struct {
Arnd Bergmann60c195c2009-02-26 00:51:43 +010022 __u8 invert;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070023 } v0;
24
25 struct {
Arnd Bergmann60c195c2009-02-26 00:51:43 +010026 __u8 flags;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070027 } v1;
28 } u;
Jan Engelhardt8b6f3f62008-01-14 23:33:14 -080029
30 /* Used internally by the kernel */
Harald Welte2e4e6a12006-01-12 13:30:04 -080031 struct ts_config __attribute__((aligned(8))) *config;
32};
33
34#endif /*_XT_STRING_H*/