xref: /aosp_15_r20/external/iptables/include/libiptc/libxtc.h (revision a71a954618bbadd4a345637e5edcf36eec826889)
1*a71a9546SAutomerger Merge Worker #ifndef _LIBXTC_H
2*a71a9546SAutomerger Merge Worker #define _LIBXTC_H
3*a71a9546SAutomerger Merge Worker /* Library which manipulates filtering rules. */
4*a71a9546SAutomerger Merge Worker 
5*a71a9546SAutomerger Merge Worker #include <libiptc/ipt_kernel_headers.h>
6*a71a9546SAutomerger Merge Worker #include <linux/netfilter/x_tables.h>
7*a71a9546SAutomerger Merge Worker 
8*a71a9546SAutomerger Merge Worker #ifdef __cplusplus
9*a71a9546SAutomerger Merge Worker extern "C" {
10*a71a9546SAutomerger Merge Worker #endif
11*a71a9546SAutomerger Merge Worker 
12*a71a9546SAutomerger Merge Worker #ifndef XT_MIN_ALIGN
13*a71a9546SAutomerger Merge Worker /* xt_entry has pointers and uint64_t's in it, so if you align to
14*a71a9546SAutomerger Merge Worker    it, you'll also align to any crazy matches and targets someone
15*a71a9546SAutomerger Merge Worker    might write */
16*a71a9546SAutomerger Merge Worker #define XT_MIN_ALIGN (__alignof__(struct xt_entry))
17*a71a9546SAutomerger Merge Worker #endif
18*a71a9546SAutomerger Merge Worker 
19*a71a9546SAutomerger Merge Worker #ifndef XT_ALIGN
20*a71a9546SAutomerger Merge Worker #define XT_ALIGN(s) (((s) + ((XT_MIN_ALIGN)-1)) & ~((XT_MIN_ALIGN)-1))
21*a71a9546SAutomerger Merge Worker #endif
22*a71a9546SAutomerger Merge Worker 
23*a71a9546SAutomerger Merge Worker #define XTC_LABEL_ACCEPT  "ACCEPT"
24*a71a9546SAutomerger Merge Worker #define XTC_LABEL_DROP    "DROP"
25*a71a9546SAutomerger Merge Worker #define XTC_LABEL_QUEUE   "QUEUE"
26*a71a9546SAutomerger Merge Worker #define XTC_LABEL_RETURN  "RETURN"
27*a71a9546SAutomerger Merge Worker 
28*a71a9546SAutomerger Merge Worker 
29*a71a9546SAutomerger Merge Worker #ifdef __cplusplus
30*a71a9546SAutomerger Merge Worker }
31*a71a9546SAutomerger Merge Worker #endif
32*a71a9546SAutomerger Merge Worker 
33*a71a9546SAutomerger Merge Worker #endif /* _LIBXTC_H */
34