Home | History | Annotate | Download | only in netfilter
      1 #ifndef _XT_U32_H
      2 #define _XT_U32_H 1
      3 
      4 #include <linux/types.h>
      5 
      6 enum xt_u32_ops {
      7 	XT_U32_AND,
      8 	XT_U32_LEFTSH,
      9 	XT_U32_RIGHTSH,
     10 	XT_U32_AT,
     11 };
     12 
     13 struct xt_u32_location_element {
     14 	__u32 number;
     15 	__u8 nextop;
     16 };
     17 
     18 struct xt_u32_value_element {
     19 	__u32 min;
     20 	__u32 max;
     21 };
     22 
     23 /*
     24  * Any way to allow for an arbitrary number of elements?
     25  * For now, I settle with a limit of 10 each.
     26  */
     27 #define XT_U32_MAXSIZE 10
     28 
     29 struct xt_u32_test {
     30 	struct xt_u32_location_element location[XT_U32_MAXSIZE+1];
     31 	struct xt_u32_value_element value[XT_U32_MAXSIZE+1];
     32 	__u8 nnums;
     33 	__u8 nvalues;
     34 };
     35 
     36 struct xt_u32 {
     37 	struct xt_u32_test tests[XT_U32_MAXSIZE+1];
     38 	__u8 ntests;
     39 	__u8 invert;
     40 };
     41 
     42 #endif /* _XT_U32_H */
     43