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