]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/netfilter/xt_hashlimit.h
h8300: use kbuild.h instead of defining macros in asm-offsets.c
[linux-2.6-omap-h63xx.git] / include / linux / netfilter / xt_hashlimit.h
index c19972e4564da6182cf4fc3b9799ba2f44aa8e58..51b18d83b4778ebc1d69eb71513e5be1faee9809 100644 (file)
@@ -9,13 +9,16 @@
 /* details of this structure hidden by the implementation */
 struct xt_hashlimit_htable;
 
-#define XT_HASHLIMIT_HASH_DIP  0x0001
-#define XT_HASHLIMIT_HASH_DPT  0x0002
-#define XT_HASHLIMIT_HASH_SIP  0x0004
-#define XT_HASHLIMIT_HASH_SPT  0x0008
+enum {
+       XT_HASHLIMIT_HASH_DIP = 1 << 0,
+       XT_HASHLIMIT_HASH_DPT = 1 << 1,
+       XT_HASHLIMIT_HASH_SIP = 1 << 2,
+       XT_HASHLIMIT_HASH_SPT = 1 << 3,
+       XT_HASHLIMIT_INVERT   = 1 << 4,
+};
 
 struct hashlimit_cfg {
-       u_int32_t mode;   /* bitmask of IPT_HASHLIMIT_HASH_* */
+       u_int32_t mode;   /* bitmask of XT_HASHLIMIT_HASH_* */
        u_int32_t avg;    /* Average secs between packets * scale */
        u_int32_t burst;  /* Period multiplier for upper limit. */
 
@@ -37,4 +40,27 @@ struct xt_hashlimit_info {
                struct xt_hashlimit_info *master;
        } u;
 };
+
+struct hashlimit_cfg1 {
+       u_int32_t mode;   /* bitmask of XT_HASHLIMIT_HASH_* */
+       u_int32_t avg;    /* Average secs between packets * scale */
+       u_int32_t burst;  /* Period multiplier for upper limit. */
+
+       /* user specified */
+       u_int32_t size;         /* how many buckets */
+       u_int32_t max;          /* max number of entries */
+       u_int32_t gc_interval;  /* gc interval */
+       u_int32_t expire;       /* when do entries expire? */
+
+       u_int8_t srcmask, dstmask;
+};
+
+struct xt_hashlimit_mtinfo1 {
+       char name[IFNAMSIZ];
+       struct hashlimit_cfg1 cfg;
+
+       /* Used internally by the kernel */
+       struct xt_hashlimit_htable *hinfo __attribute__((aligned(8)));
+};
+
 #endif /*_XT_HASHLIMIT_H*/