xref: /aosp_15_r20/external/ltp/include/lapi/ip_tables.h (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-or-later
2*49cdfc7eSAndroid Build Coastguard Worker 
3*49cdfc7eSAndroid Build Coastguard Worker #ifndef LAPI_IP_TABLES__
4*49cdfc7eSAndroid Build Coastguard Worker #define LAPI_IP_TABLES__
5*49cdfc7eSAndroid Build Coastguard Worker 
6*49cdfc7eSAndroid Build Coastguard Worker #include "config.h"
7*49cdfc7eSAndroid Build Coastguard Worker 
8*49cdfc7eSAndroid Build Coastguard Worker #include <net/if.h>
9*49cdfc7eSAndroid Build Coastguard Worker #include <linux/netfilter_ipv4/ip_tables.h>
10*49cdfc7eSAndroid Build Coastguard Worker 
11*49cdfc7eSAndroid Build Coastguard Worker #ifndef HAVE_STRUCT_XT_ENTRY_MATCH
12*49cdfc7eSAndroid Build Coastguard Worker struct xt_entry_match {
13*49cdfc7eSAndroid Build Coastguard Worker 	union {
14*49cdfc7eSAndroid Build Coastguard Worker 		struct {
15*49cdfc7eSAndroid Build Coastguard Worker 			uint16_t match_size;
16*49cdfc7eSAndroid Build Coastguard Worker 			char name[29];
17*49cdfc7eSAndroid Build Coastguard Worker 			uint8_t revision;
18*49cdfc7eSAndroid Build Coastguard Worker 		} user;
19*49cdfc7eSAndroid Build Coastguard Worker 		struct {
20*49cdfc7eSAndroid Build Coastguard Worker 			uint16_t match_size;
21*49cdfc7eSAndroid Build Coastguard Worker 			void *match;
22*49cdfc7eSAndroid Build Coastguard Worker 		} kernel;
23*49cdfc7eSAndroid Build Coastguard Worker 		uint16_t match_size;
24*49cdfc7eSAndroid Build Coastguard Worker 	} u;
25*49cdfc7eSAndroid Build Coastguard Worker 	unsigned char data[0];
26*49cdfc7eSAndroid Build Coastguard Worker };
27*49cdfc7eSAndroid Build Coastguard Worker #endif
28*49cdfc7eSAndroid Build Coastguard Worker 
29*49cdfc7eSAndroid Build Coastguard Worker #ifndef HAVE_STRUCT_XT_ENTRY_TARGET
30*49cdfc7eSAndroid Build Coastguard Worker struct xt_entry_target {
31*49cdfc7eSAndroid Build Coastguard Worker 	union {
32*49cdfc7eSAndroid Build Coastguard Worker 		struct {
33*49cdfc7eSAndroid Build Coastguard Worker 			uint16_t target_size;
34*49cdfc7eSAndroid Build Coastguard Worker 			char name[29];
35*49cdfc7eSAndroid Build Coastguard Worker 			uint8_t revision;
36*49cdfc7eSAndroid Build Coastguard Worker 		} user;
37*49cdfc7eSAndroid Build Coastguard Worker 		struct {
38*49cdfc7eSAndroid Build Coastguard Worker 			uint16_t target_size;
39*49cdfc7eSAndroid Build Coastguard Worker 			void *target;
40*49cdfc7eSAndroid Build Coastguard Worker 		} kernel;
41*49cdfc7eSAndroid Build Coastguard Worker 		uint16_t target_size;
42*49cdfc7eSAndroid Build Coastguard Worker 	} u;
43*49cdfc7eSAndroid Build Coastguard Worker 	unsigned char data[0];
44*49cdfc7eSAndroid Build Coastguard Worker };
45*49cdfc7eSAndroid Build Coastguard Worker #endif
46*49cdfc7eSAndroid Build Coastguard Worker 
47*49cdfc7eSAndroid Build Coastguard Worker #endif /* LAPI_IP_TABLES__ */
48