summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/misc/uname.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 13:54:38 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 13:54:38 +0000
commit8c1ab65c0f548d20b7f177bdb736daaf603340e1 (patch)
treedf55b7e75bf43f2bf500845b105afe3ac3a5157e /libc-top-half/musl/src/misc/uname.c
parentInitial commit. (diff)
downloadwasi-libc-8c1ab65c0f548d20b7f177bdb736daaf603340e1.tar.xz
wasi-libc-8c1ab65c0f548d20b7f177bdb736daaf603340e1.zip
Adding upstream version 0.0~git20221206.8b7148f.upstream/0.0_git20221206.8b7148f
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'libc-top-half/musl/src/misc/uname.c')
-rw-r--r--libc-top-half/musl/src/misc/uname.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/misc/uname.c b/libc-top-half/musl/src/misc/uname.c
new file mode 100644
index 0000000..36e816a
--- /dev/null
+++ b/libc-top-half/musl/src/misc/uname.c
@@ -0,0 +1,32 @@
+#include <sys/utsname.h>
+#ifdef __wasilibc_unmodified_upstream // Implement uname with placeholders
+#include "syscall.h"
+#else
+#include <string.h>
+#endif
+
+int uname(struct utsname *uts)
+{
+#ifdef __wasilibc_unmodified_upstream // Implement uname with placeholders
+ return syscall(SYS_uname, uts);
+#else
+ // Just fill in the fields with placeholder values.
+ strcpy(uts->sysname, "wasi");
+ strcpy(uts->nodename, "(none)");
+ strcpy(uts->release, "0.0.0");
+ strcpy(uts->version, "0.0.0");
+#if defined(__wasm32__)
+ strcpy(uts->machine, "wasm32");
+#elif defined(__wasm64__)
+ strcpy(uts->machine, "wasm64");
+#else
+ strcpy(uts->machine, "unknown");
+#endif
+#ifdef _GNU_SOURCE
+ strcpy(uts->domainname, "(none)");
+#else
+ strcpy(uts->__domainname, "(none)");
+#endif
+ return 0;
+#endif
+}