1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _NAMESPACE_H_
3#define _NAMESPACE_H_
4#ifdef __KERNEL__
5
6#include <linux/cleanup.h>
7#include <linux/err.h>
8
9struct mnt_namespace;
10struct fs_struct;
11struct user_namespace;
12struct ns_common;
13
14extern struct mnt_namespace init_mnt_ns;
15
16extern struct mnt_namespace *copy_mnt_ns(u64, struct mnt_namespace *,
17 struct user_namespace *, struct fs_struct *);
18extern void put_mnt_ns(struct mnt_namespace *ns);
19DEFINE_FREE(put_mnt_ns, struct mnt_namespace *, if (!IS_ERR_OR_NULL(_T)) put_mnt_ns(_T))
20extern struct ns_common *from_mnt_ns(struct mnt_namespace *);
21
22extern const struct file_operations proc_mounts_operations;
23extern const struct file_operations proc_mountinfo_operations;
24extern const struct file_operations proc_mountstats_operations;
25
26#endif
27#endif
28