125981136fb13bcacf5f475f3e0ec750341e1e671Christopher Ferris/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _XT_STRING_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _XT_STRING_H 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XT_STRING_MAX_PATTERN_SIZE 128 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XT_STRING_MAX_ALGO_NAME_SIZE 16 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1030692c65c4174412c90e79489e98ab85c1a7412fBen Chengenum { 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_STRING_FLAG_INVERT = 0x01, 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_STRING_FLAG_IGNORECASE = 0x02 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1530692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct xt_string_info { 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u16 from_offset; 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u16 to_offset; 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char algo[XT_STRING_MAX_ALGO_NAME_SIZE]; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char pattern[XT_STRING_MAX_PATTERN_SIZE]; 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 patlen; 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union { 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct { 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 invert; 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng } v0; 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct { 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 flags; 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng } v1; 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng } u; 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng /* Used internally by the kernel */ 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng struct ts_config __attribute__((aligned(8))) *config; 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /*_XT_STRING_H*/ 36