summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/misc/uname.c
blob: 36e816aa27117a8d0fc3796094fda5569802df6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
}