1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _LINUX_UTSNAME_H 3 #define _LINUX_UTSNAME_H 4 5 6 #include <linux/sched.h> 7 #include <linux/nsproxy.h> 8 #include <linux/ns_common.h> 9 #include <linux/err.h> 10 #include <linux/uts_namespace.h> 11 12 enum uts_proc { 13 UTS_PROC_ARCH, 14 UTS_PROC_OSTYPE, 15 UTS_PROC_OSRELEASE, 16 UTS_PROC_VERSION, 17 UTS_PROC_HOSTNAME, 18 UTS_PROC_DOMAINNAME, 19 }; 20 21 #ifdef CONFIG_PROC_SYSCTL 22 extern void uts_proc_notify(enum uts_proc proc); 23 #else uts_proc_notify(enum uts_proc proc)24static inline void uts_proc_notify(enum uts_proc proc) 25 { 26 } 27 #endif 28 utsname(void)29static inline struct new_utsname *utsname(void) 30 { 31 return ¤t->nsproxy->uts_ns->name; 32 } 33 init_utsname(void)34static inline struct new_utsname *init_utsname(void) 35 { 36 return &init_uts_ns.name; 37 } 38 39 extern struct rw_semaphore uts_sem; 40 41 #endif /* _LINUX_UTSNAME_H */ 42