From bef8fdb8d444b61dc71ea446eeb0d9208ee77ad3 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Wed, 6 Aug 2025 22:33:55 -0400 Subject: kernel: sysctl: Add 'kern.hostname' var This commit introduces the 'kern.hostname' sysctl variable to store the machines hostname. Signed-off-by: Ian Moffett --- sys/include/sys/sysctl.h | 1 + sys/kern/init_main.c | 2 ++ sys/kern/kern_sysctl.c | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/include/sys/sysctl.h b/sys/include/sys/sysctl.h index d258860..2b1ebb6 100644 --- a/sys/include/sys/sysctl.h +++ b/sys/include/sys/sysctl.h @@ -43,6 +43,7 @@ #define KERN_OSRELEASE 1 #define KERN_VERSION 2 #define KERN_VCACHE_TYPE 3 +#define KERN_HOSTNAME 4 /* * Option types (i.e., int, string, etc) for diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 5e351a8..541355a 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -113,6 +114,7 @@ main(void) sched_init(); memset(&g_proc0, 0, sizeof(g_proc0)); + sysctl_clearstr(KERN_HOSTNAME); /* Startup pid 1 */ spawn(&g_proc0, start_init, NULL, 0, &g_init); diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 8b298a7..fc8feec 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -52,7 +52,8 @@ static struct sysctl_entry common_optab[] = { [KERN_OSTYPE] = { KERN_OSTYPE, SYSCTL_OPTYPE_STR_RO, hyra }, [KERN_OSRELEASE] = { KERN_OSRELEASE, SYSCTL_OPTYPE_STR_RO, &osrelease }, [KERN_VERSION] = { KERN_VERSION, SYSCTL_OPTYPE_STR_RO, &hyra_version }, - [KERN_VCACHE_TYPE] = { KERN_VCACHE_TYPE, SYSCTL_OPTYPE_STR, NULL } + [KERN_VCACHE_TYPE] = { KERN_VCACHE_TYPE, SYSCTL_OPTYPE_STR, NULL }, + [KERN_HOSTNAME] = { KERN_HOSTNAME, SYSCTL_OPTYPE_STR, NULL } }; static int -- cgit v1.2.3