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