/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI_X_TABLES_H #define _UAPI_X_TABLES_H #include <linux/const.h> #include <linux/types.h> #define XT_FUNCTION_MAXNAMELEN … #define XT_EXTENSION_MAXNAMELEN … #define XT_TABLE_MAXNAMELEN … struct xt_entry_match { … }; struct xt_entry_target { … }; #define XT_TARGET_INIT(__name, __size) … struct xt_standard_target { … }; struct xt_error_target { … }; /* The argument to IPT_SO_GET_REVISION_*. Returns highest revision * kernel supports, if >= revision. */ struct xt_get_revision { … }; /* CONTINUE verdict for targets */ #define XT_CONTINUE … /* For standard target */ #define XT_RETURN … /* this is a dummy structure to find out the alignment requirement for a struct * containing all the fundamental data types that are used in ipt_entry, * ip6t_entry and arpt_entry. This sucks, and it is a hack. It will be my * personal pleasure to remove it -HW */ struct _xt_align { … }; #define XT_ALIGN(s) … /* Standard return verdict, or do jump. */ #define XT_STANDARD_TARGET … /* Error verdict. */ #define XT_ERROR_TARGET … #define SET_COUNTER(c,b,p) … #define ADD_COUNTER(c,b,p) … struct xt_counters { … }; /* The argument to IPT_SO_ADD_COUNTERS. */ struct xt_counters_info { … }; #define XT_INV_PROTO … #ifndef __KERNEL__ /* fn returns 0 to continue iteration */ #define XT_MATCH_ITERATE … /* fn returns 0 to continue iteration */ #define XT_ENTRY_ITERATE_CONTINUE … /* fn returns 0 to continue iteration */ #define XT_ENTRY_ITERATE … #endif /* !__KERNEL__ */ /* pos is normally a struct ipt_entry/ip6t_entry/etc. */ #define xt_entry_foreach(pos, ehead, esize) … /* can only be xt_entry_match, so no use of typeof here */ #define xt_ematch_foreach(pos, entry) … #endif /* _UAPI_X_TABLES_H */