#include <linux/export.h>
#include <linux/uts.h>
#include <linux/utsname.h>
#include <linux/random.h>
#include <linux/sysctl.h>
#include <linux/wait.h>
#include <linux/rwsem.h>
#ifdef CONFIG_PROC_SYSCTL
static void *get_uts(const struct ctl_table *table)
{ … }
static int proc_do_uts_string(const struct ctl_table *table, int write,
void *buffer, size_t *lenp, loff_t *ppos)
{ … }
#else
#define proc_do_uts_string …
#endif
static DEFINE_CTL_TABLE_POLL(hostname_poll);
static DEFINE_CTL_TABLE_POLL(domainname_poll);
static struct ctl_table uts_kern_table[] = …;
#ifdef CONFIG_PROC_SYSCTL
void uts_proc_notify(enum uts_proc proc)
{ … }
#endif
static int __init utsname_sysctl_init(void)
{ … }
device_initcall(utsname_sysctl_init);