~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to include/linux/netfilter_bridge/ebtables.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno, Martin Michlmayr
  • Date: 2011-04-06 13:53:30 UTC
  • mfrom: (43.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20110406135330-wjufxhd0tvn3zx4z
Tags: 2.6.38-3
[ Ben Hutchings ]
* [ppc64] Add to linux-tools package architectures (Closes: #620124)
* [amd64] Save cr4 to mmu_cr4_features at boot time (Closes: #620284)
* appletalk: Fix bugs introduced when removing use of BKL
* ALSA: Fix yet another race in disconnection
* cciss: Fix lost command issue
* ath9k: Fix kernel panic in AR2427
* ses: Avoid kernel panic when lun 0 is not mapped
* PCI/ACPI: Report ASPM support to BIOS if not disabled from command line

[ Aurelien Jarno ]
* rtlwifi: fix build when PCI is not enabled.

[ Martin Michlmayr ]
* rtlwifi: Eliminate udelay calls with too large values (Closes: #620204)

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
struct xt_match;
35
35
struct xt_target;
36
36
 
37
 
struct ebt_counter
38
 
{
 
37
struct ebt_counter {
39
38
        uint64_t pcnt;
40
39
        uint64_t bcnt;
41
40
};
42
41
 
43
 
struct ebt_replace
44
 
{
 
42
struct ebt_replace {
45
43
        char name[EBT_TABLE_MAXNAMELEN];
46
44
        unsigned int valid_hooks;
47
45
        /* nr of rules in the table */
57
55
        char __user *entries;
58
56
};
59
57
 
60
 
struct ebt_replace_kernel
61
 
{
 
58
struct ebt_replace_kernel {
62
59
        char name[EBT_TABLE_MAXNAMELEN];
63
60
        unsigned int valid_hooks;
64
61
        /* nr of rules in the table */
120
117
#define EBT_INV_MASK (EBT_IPROTO | EBT_IIN | EBT_IOUT | EBT_ILOGICALIN \
121
118
   | EBT_ILOGICALOUT | EBT_ISOURCE | EBT_IDEST)
122
119
 
123
 
struct ebt_entry_match
124
 
{
 
120
struct ebt_entry_match {
125
121
        union {
126
122
                char name[EBT_FUNCTION_MAXNAMELEN];
127
123
                struct xt_match *match;
131
127
        unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
132
128
};
133
129
 
134
 
struct ebt_entry_watcher
135
 
{
 
130
struct ebt_entry_watcher {
136
131
        union {
137
132
                char name[EBT_FUNCTION_MAXNAMELEN];
138
133
                struct xt_target *watcher;
142
137
        unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
143
138
};
144
139
 
145
 
struct ebt_entry_target
146
 
{
 
140
struct ebt_entry_target {
147
141
        union {
148
142
                char name[EBT_FUNCTION_MAXNAMELEN];
149
143
                struct xt_target *target;
154
148
};
155
149
 
156
150
#define EBT_STANDARD_TARGET "standard"
157
 
struct ebt_standard_target
158
 
{
 
151
struct ebt_standard_target {
159
152
        struct ebt_entry_target target;
160
153
        int verdict;
161
154
};
206
199
#define EBT_MATCH 0
207
200
#define EBT_NOMATCH 1
208
201
 
209
 
struct ebt_match
210
 
{
 
202
struct ebt_match {
211
203
        struct list_head list;
212
204
        const char name[EBT_FUNCTION_MAXNAMELEN];
213
205
        bool (*match)(const struct sk_buff *skb, const struct net_device *in,
224
216
        struct module *me;
225
217
};
226
218
 
227
 
struct ebt_watcher
228
 
{
 
219
struct ebt_watcher {
229
220
        struct list_head list;
230
221
        const char name[EBT_FUNCTION_MAXNAMELEN];
231
222
        unsigned int (*target)(struct sk_buff *skb,
242
233
        struct module *me;
243
234
};
244
235
 
245
 
struct ebt_target
246
 
{
 
236
struct ebt_target {
247
237
        struct list_head list;
248
238
        const char name[EBT_FUNCTION_MAXNAMELEN];
249
239
        /* returns one of the standard EBT_* verdicts */
262
252
};
263
253
 
264
254
/* used for jumping from and into user defined chains (udc) */
265
 
struct ebt_chainstack
266
 
{
 
255
struct ebt_chainstack {
267
256
        struct ebt_entries *chaininfo; /* pointer to chain data */
268
257
        struct ebt_entry *e; /* pointer to entry data */
269
258
        unsigned int n; /* n'th entry */
270
259
};
271
260
 
272
 
struct ebt_table_info
273
 
{
 
261
struct ebt_table_info {
274
262
        /* total size of the entries */
275
263
        unsigned int entries_size;
276
264
        unsigned int nentries;
282
270
        struct ebt_counter counters[0] ____cacheline_aligned;
283
271
};
284
272
 
285
 
struct ebt_table
286
 
{
 
273
struct ebt_table {
287
274
        struct list_head list;
288
275
        char name[EBT_TABLE_MAXNAMELEN];
289
276
        struct ebt_replace_kernel *table;
302
289
                     ~(__alignof__(struct ebt_replace)-1))
303
290
extern struct ebt_table *ebt_register_table(struct net *net,
304
291
                                            const struct ebt_table *table);
305
 
extern void ebt_unregister_table(struct ebt_table *table);
 
292
extern void ebt_unregister_table(struct net *net, struct ebt_table *table);
306
293
extern unsigned int ebt_do_table(unsigned int hook, struct sk_buff *skb,
307
294
   const struct net_device *in, const struct net_device *out,
308
295
   struct ebt_table *table);