blob: ecbb95fc89ed274d70b756583293ef5a81bb2891 [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
Harald Welte2e4e6a12006-01-12 13:30:04 -080014struct xt_string_info
15{
Arnd Bergmann60c195c2009-02-26 00:51:43 +010016 __u16 from_offset;
17 __u16 to_offset;
Harald Welte2e4e6a12006-01-12 13:30:04 -080018 char algo[XT_STRING_MAX_ALGO_NAME_SIZE];
19 char pattern[XT_STRING_MAX_PATTERN_SIZE];
Arnd Bergmann60c195c2009-02-26 00:51:43 +010020 __u8 patlen;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070021 union {
22 struct {
Arnd Bergmann60c195c2009-02-26 00:51:43 +010023 __u8 invert;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070024 } v0;
25
26 struct {
Arnd Bergmann60c195c2009-02-26 00:51:43 +010027 __u8 flags;
Joonwoo Park4ad3f262008-07-08 02:38:56 -070028 } v1;
29 } u;
Jan Engelhardt8b6f3f62008-01-14 23:33:14 -080030
31 /* Used internally by the kernel */
Harald Welte2e4e6a12006-01-12 13:30:04 -080032 struct ts_config __attribute__((aligned(8))) *config;
33};
34
35#endif /*_XT_STRING_H*/