mirror of
https://github.com/AlexisTM/RT-WiFi.git
synced 2024-12-20 06:08:11 +00:00
45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
|
#ifndef __BACKPORT_SEQ_FILE_H
|
||
|
#define __BACKPORT_SEQ_FILE_H
|
||
|
#include_next <linux/seq_file.h>
|
||
|
#include <linux/version.h>
|
||
|
|
||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
|
||
|
#include <linux/user_namespace.h>
|
||
|
#include <linux/file.h>
|
||
|
#include <linux/fs.h>
|
||
|
#ifdef CONFIG_USER_NS
|
||
|
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,38)
|
||
|
static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
|
||
|
{
|
||
|
struct file *f = container_of((void *) seq, struct file, private_data);
|
||
|
|
||
|
return f->f_cred->user_ns;
|
||
|
}
|
||
|
#else
|
||
|
static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
|
||
|
{
|
||
|
return current_user_ns();
|
||
|
}
|
||
|
#endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,38)) */
|
||
|
|
||
|
#else
|
||
|
static inline struct user_namespace *seq_user_ns(struct seq_file *seq)
|
||
|
{
|
||
|
extern struct user_namespace init_user_ns;
|
||
|
return &init_user_ns;
|
||
|
}
|
||
|
#endif /* CONFIG_USER_NS */
|
||
|
#endif /* < 3.7 */
|
||
|
|
||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)
|
||
|
#define seq_hlist_start_head LINUX_BACKPORT(seq_hlist_start_head)
|
||
|
extern struct hlist_node *seq_hlist_start_head(struct hlist_head *head,
|
||
|
loff_t pos);
|
||
|
|
||
|
#define seq_hlist_next LINUX_BACKPORT(seq_hlist_next)
|
||
|
extern struct hlist_node *seq_hlist_next(void *v, struct hlist_head *head,
|
||
|
loff_t *ppos);
|
||
|
#endif
|
||
|
|
||
|
#endif /* __BACKPORT_SEQ_FILE_H */
|