blob: 32c89bbe24a260754a7d3ee13293daeee9f548e9 [file] [log] [blame]
Denis V. Lunevc0f39322008-04-02 00:10:28 -07001#ifndef __SEQ_FILE_NET_H__
2#define __SEQ_FILE_NET_H__
3
4#include <linux/seq_file.h>
5
6struct net;
7extern struct net init_net;
8
9struct seq_net_private {
10#ifdef CONFIG_NET_NS
11 struct net *net;
12#endif
13};
14
15int seq_open_net(struct inode *, struct file *,
16 const struct seq_operations *, int);
Pavel Emelyanovde05c552008-07-18 04:07:21 -070017int single_open_net(struct inode *, struct file *file,
18 int (*show)(struct seq_file *, void *));
Denis V. Lunevc0f39322008-04-02 00:10:28 -070019int seq_release_net(struct inode *, struct file *);
Pavel Emelyanovb6fcbdb2008-07-18 04:07:44 -070020int single_release_net(struct inode *, struct file *);
Denis V. Lunevc0f39322008-04-02 00:10:28 -070021static 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