PNG  IHDR  8] PLTE S =tRNS   PNG  IHDR  8] PLTE S =tRNS   REDROOM
PHP 7.4.33
Preview: x_tables.h Size: 4.36 KB
/usr/include/linux/netfilter/x_tables.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _X_TABLES_H
#define _X_TABLES_H
#include <linux/const.h>
#include <linux/types.h>

#define XT_FUNCTION_MAXNAMELEN 30
#define XT_EXTENSION_MAXNAMELEN 29
#define XT_TABLE_MAXNAMELEN 32

struct xt_entry_match {
	union {
		struct {
			__u16 match_size;

			/* Used by userspace */
			char name[XT_EXTENSION_MAXNAMELEN];
			__u8 revision;
		} user;
		struct {
			__u16 match_size;

			/* Used inside the kernel */
			struct xt_match *match;
		} kernel;

		/* Total length */
		__u16 match_size;
	} u;

	unsigned char data[0];
};

struct xt_entry_target {
	union {
		struct {
			__u16 target_size;

			/* Used by userspace */
			char name[XT_EXTENSION_MAXNAMELEN];
			__u8 revision;
		} user;
		struct {
			__u16 target_size;

			/* Used inside the kernel */
			struct xt_target *target;
		} kernel;

		/* Total length */
		__u16 target_size;
	} u;

	unsigned char data[0];
};

#define XT_TARGET_INIT(__name, __size)					       \
{									       \
	.target.u.user = {						       \
		.target_size	= XT_ALIGN(__size),			       \
		.name		= __name,				       \
	},								       \
}

struct xt_standard_target {
	struct xt_entry_target target;
	int verdict;
};

struct xt_error_target {
	struct xt_entry_target target;
	char errorname[XT_FUNCTION_MAXNAMELEN];
};

/* The argument to IPT_SO_GET_REVISION_*.  Returns highest revision
 * kernel supports, if >= revision. */
struct xt_get_revision {
	char name[XT_EXTENSION_MAXNAMELEN];
	__u8 revision;
};

/* CONTINUE verdict for targets */
#define XT_CONTINUE 0xFFFFFFFF

/* For standard target */
#define XT_RETURN (-NF_REPEAT - 1)

/* 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 {
	__u8 u8;
	__u16 u16;
	__u32 u32;
	__u64 u64;
};

#define XT_ALIGN(s) __ALIGN_KERNEL((s), __alignof__(struct _xt_align))

/* Standard return verdict, or do jump. */
#define XT_STANDARD_TARGET ""
/* Error verdict. */
#define XT_ERROR_TARGET "ERROR"

#define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0)
#define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)

struct xt_counters {
	__u64 pcnt, bcnt;			/* Packet and byte counters */
};

/* The argument to IPT_SO_ADD_COUNTERS. */
struct xt_counters_info {
	/* Which table. */
	char name[XT_TABLE_MAXNAMELEN];

	unsigned int num_counters;

	/* The counters (actually `number' of these). */
	struct xt_counters counters[0];
};

#define XT_INV_PROTO		0x40	/* Invert the sense of PROTO. */

/* fn returns 0 to continue iteration */
#define XT_MATCH_ITERATE(type, e, fn, args...)			\
({								\
	unsigned int __i;					\
	int __ret = 0;						\
	struct xt_entry_match *__m;				\
								\
	for (__i = sizeof(type);				\
	     __i < (e)->target_offset;				\
	     __i += __m->u.match_size) {			\
		__m = (void *)e + __i;				\
								\
		__ret = fn(__m , ## args);			\
		if (__ret != 0)					\
			break;					\
	}							\
	__ret;							\
})

/* fn returns 0 to continue iteration */
#define XT_ENTRY_ITERATE_CONTINUE(type, entries, size, n, fn, args...) \
({								\
	unsigned int __i, __n;					\
	int __ret = 0;						\
	type *__entry;						\
								\
	for (__i = 0, __n = 0; __i < (size);			\
	     __i += __entry->next_offset, __n++) { 		\
		__entry = (void *)(entries) + __i;		\
		if (__n < n)					\
			continue;				\
								\
		__ret = fn(__entry , ## args);			\
		if (__ret != 0)					\
			break;					\
	}							\
	__ret;							\
})

/* fn returns 0 to continue iteration */
#define XT_ENTRY_ITERATE(type, entries, size, fn, args...) \
	XT_ENTRY_ITERATE_CONTINUE(type, entries, size, 0, fn, args)


/* pos is normally a struct ipt_entry/ip6t_entry/etc. */
#define xt_entry_foreach(pos, ehead, esize) \
	for ((pos) = (typeof(pos))(ehead); \
	     (pos) < (typeof(pos))((char *)(ehead) + (esize)); \
	     (pos) = (typeof(pos))((char *)(pos) + (pos)->next_offset))

/* can only be xt_entry_match, so no use of typeof here */
#define xt_ematch_foreach(pos, entry) \
	for ((pos) = (struct xt_entry_match *)entry->elems; \
	     (pos) < (struct xt_entry_match *)((char *)(entry) + \
	             (entry)->target_offset); \
	     (pos) = (struct xt_entry_match *)((char *)(pos) + \
	             (pos)->u.match_size))


#endif /* _X_TABLES_H */

Directory Contents

Dirs: 1 × Files: 90

Name Size Perms Modified Actions
ipset DIR
- drwxr-xr-x 2026-06-03 15:05:14
Edit Download
2.40 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
900 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
2.39 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
6.04 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.18 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
2.88 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.65 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
3.03 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
2.60 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
3.50 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
4.48 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
438 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
597 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.38 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
896 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
538 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.55 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
576 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
56.89 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
731 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.06 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
718 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
935 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
740 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
563 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
217 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
374 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
230 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
577 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
360 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
575 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
901 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
199 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
301 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
2.50 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
199 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
853 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
483 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
429 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
697 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
701 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
736 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
418 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
3.18 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
188 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
933 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.60 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
485 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
581 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
680 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
739 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
470 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
221 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
673 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
642 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
227 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
260 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
184 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
721 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
421 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
556 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
779 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.66 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
535 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
553 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
188 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.03 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
400 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
859 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
390 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
220 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.03 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
320 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
2.27 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
648 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.78 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
640 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
331 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
716 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
664 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
498 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
235 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
253 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
407 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
1.22 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download
333 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
730 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
575 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
752 B lrw-r--r-- 2026-05-19 19:43:31
Edit Download
4.36 KB lrw-r--r-- 2026-05-19 19:43:31
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
 !"#$%&'(()*+,-./00123456789 t\ wIDATx ]ys  47Y ƒ -  "  Rv  < f{Ɛ $k l L > L  ~h^ 1  [  r G t& h  l F z3O Y ! p A(_g̷ E8 )S 8 c  Kb"z ~ 5 J xAL WU <  *  5 m;W a pB h ~P J 2 3 6 ҙ .Ƹ P i  4g F R L P ΪK/D  M v (a3 k J Œ4N5* SH ` SdJ z  O J Xՠ V>u ߱ BE&L b2 ?2` tX+  c CB A$ i b C ĀMB E : /  # Dx &l =q Ty  0 \p I ( L Ǎ { e 4k ;`u^ヲ eP!( d {  )T A 8 O;Ě n >;s6 !  :Nx `[S D HU ~ q›J F} a g*D 49 / pn k h (t 8NxƐF _!r չ7 ZR R׷ q/5") Ӎ NY 0 x sZ!   o  fu  ,  K"$ ? pg  㕣=  1» {h " fh7    y  } € +7  $ y " X —ą - G P u 4 m >J 5 L =V ' ^@I p ?MS xЌ XV P ! h "C NS9B8̢ ]!K  e   zA , ӏkbY  !< XQ ٿyS| *" f { w  4@[S <  # 0 ! js [m  =,~ o "ݎ DHf Wo $ g ! Vԅ t mB /y Wf V4񺍸 c+@x?  B ~u " xUN e 0 BĂ) ~J pz! 7y6]l Ԥ@ P a< O /DHC `≻  N m"$  0ObB }{ x AO FCG D R ^ "B  { WDH  UR l@ T #  +"d T ; 0 i  D}. 7 ` ' ] w rE &S i ƕiTD EL P _ u h $ Ա FG wVD G L R Zf ' .!] J /ZR oGЍs Mr Ĥ ʬ 3 Q [3 cL ` ^ p + ( F;# B 5 '  2Y f [  ϶R0e }  E 7 6M aۮ H <& n % L] E}Up x紉, Uw' Q  Ǯշo k ވۙ 0N94 VX5 xEDE l D #֤ } C o )W :  ^ s 9  bRf iX5u ཱི 4 :[  T 1. | [E 2ؽ Iy\ : o x K G 5 ylP ' uK E ftb/i[3 .g _  [3M n G, #NwQ5~  ؚ) | n =Ц"x qg gB ` 듘 ~ x w ? ? R~  _ u. &VQ K˻   H C ( TN˄+ `C dA nB׭ D 3"Z G ê ^k H_ /- ~ " R_  .8 Z_ 6@ o  xg  uP ? 3լ @7AM!  E7^ - =V L  x  g-D0  CtmW 7  O  G _ WD0 g C  w1 r d w : a | \  *" f nֳ ^ H# f L ` Z ۽hV  }S F r0Ù Bć5r] @! NL iQ]{s^=4 d  WD  "  "   M; t" 8 5 e dL| "-*st" ) SWD ?R[S e ooF  20.D ? bo =) A i o d ģ ZҰaO @E =) i D a &ܟa CϞ y6 ,<%{^x%{f8? `iw^ ?/ M * IEND B`