diff options
author | Patrick McHardy <kaber@trash.net> | 2011-06-30 13:35:56 +0200 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2011-06-30 13:35:56 +0200 |
commit | 411b390f3ffcd4708a0dfc0f2824a637de511cea (patch) | |
tree | 50645beb44d0a617d17eb15636f149720061e31f /include | |
parent | 3b7a22b44d74b9b05d5e4b0529ebf72c49dcbff5 (diff) | |
parent | 1c9508e1f3f853f33683eb7118e19b193a6c80b7 (diff) |
Merge branch 'master' of git://dev.medozas.de/iptables
Diffstat (limited to 'include')
-rw-r--r-- | include/xtables.h.in | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/xtables.h.in b/include/xtables.h.in index 2565dd23..0dead268 100644 --- a/include/xtables.h.in +++ b/include/xtables.h.in @@ -137,11 +137,13 @@ struct xt_option_entry { * @arg: input from command line * @ext_name: name of extension currently being processed * @entry: current option being processed - * @data: per-extension data block + * @data: per-extension kernel data block * @xflags: options of the extension that have been used * @invert: whether option was used with ! * @nvals: number of results in uXX_multi * @val: parsed result + * @udata: per-extension private scratch area + * (cf. xtables_{match,target}->udata_size) */ struct xt_option_call { const char *arg, *ext_name; @@ -174,16 +176,19 @@ struct xt_option_call { struct xt_entry_target **target; }; void *xt_entry; + void *udata; }; /** * @ext_name: name of extension currently being processed - * @data: per-extension data block + * @data: per-extension (kernel) data block + * @udata: per-extension private scratch area + * (cf. xtables_{match,target}->udata_size) * @xflags: options of the extension that have been used */ struct xt_fcheck_call { const char *ext_name; - void *data; + void *data, *udata; unsigned int xflags; }; @@ -254,7 +259,11 @@ struct xtables_match void (*x6_fcheck)(struct xt_fcheck_call *); const struct xt_option_entry *x6_options; + /* Size of per-extension instance extra "global" scratch space */ + size_t udata_size; + /* Ignore these men behind the curtain: */ + void *udata; unsigned int option_offset; struct xt_entry_match *m; unsigned int mflags; @@ -318,7 +327,10 @@ struct xtables_target void (*x6_fcheck)(struct xt_fcheck_call *); const struct xt_option_entry *x6_options; + size_t udata_size; + /* Ignore these men behind the curtain: */ + void *udata; unsigned int option_offset; struct xt_entry_target *t; unsigned int tflags; |