Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async
[linux-2.6] / include / linux / seq_file_net.h
1 #ifndef __SEQ_FILE_NET_H__
2 #define __SEQ_FILE_NET_H__
3
4 #include <linux/seq_file.h>
5
6 struct net;
7 extern struct net init_net;
8
9 struct seq_net_private {
10 #ifdef CONFIG_NET_NS
11         struct net *net;
12 #endif
13 };
14
15 int seq_open_net(struct inode *, struct file *,
16                  const struct seq_operations *, int);
17 int single_open_net(struct inode *, struct file *file,
18                 int (*show)(struct seq_file *, void *));
19 int seq_release_net(struct inode *, struct file *);
20 int single_release_net(struct inode *, struct file *);
21 static inline struct net *seq_file_net(struct seq_file *seq)
22 {
23 #ifdef CONFIG_NET_NS
24         return ((struct seq_net_private *)seq->private)->net;
25 #else
26         return &init_net;
27 #endif
28 }
29
30 #endif