130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _LINUX_NETFILTER_XT_RECENT_H 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _LINUX_NETFILTER_XT_RECENT_H 1 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 630692c65c4174412c90e79489e98ab85c1a7412fBen Chengenum { 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_CHECK = 1 << 0, 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_SET = 1 << 1, 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_UPDATE = 1 << 2, 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_REMOVE = 1 << 3, 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_TTL = 1 << 4, 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_REAP = 1 << 5, 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_SOURCE = 0, 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_DEST = 1, 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_NAME_LEN = 200, 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Only allowed with --rcheck and --update */ 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XT_RECENT_MODIFIERS (XT_RECENT_TTL|XT_RECENT_REAP) 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define XT_RECENT_VALID_FLAGS (XT_RECENT_CHECK|XT_RECENT_SET|XT_RECENT_UPDATE|\ 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng XT_RECENT_REMOVE|XT_RECENT_TTL|XT_RECENT_REAP) 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 2630692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct xt_recent_mtinfo { 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 seconds; 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 hit_count; 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 check_set; 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 invert; 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char name[XT_RECENT_NAME_LEN]; 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 side; 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3530692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct xt_recent_mtinfo_v1 { 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 seconds; 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 hit_count; 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 check_set; 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 invert; 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char name[XT_RECENT_NAME_LEN]; 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 side; 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng union nf_inet_addr mask; 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _LINUX_NETFILTER_XT_RECENT_H */ 46