1
#include <errno.h>
2
#include <string.h>
3
#include <sys/utsname.h>
4
5
#ifndef VERSION
6
#define VERSION "unknown"
7
#endif8
9
int uname(struct utsname *buf) {
10
if (!buf) {
11
errno = EINVAL;
12
return -1;
13
}14
15
memset(buf, 0, sizeof(*buf));
16
strncpy(buf->sysname, "apheleiaOS", sizeof(buf->sysname) - 1);
17
strncpy(buf->nodename, "apheleia", sizeof(buf->nodename) - 1);
18
strncpy(buf->release, VERSION, sizeof(buf->release) - 1);
19
strncpy(buf->version, "posix-base", sizeof(buf->version) - 1);
20
#ifdef ARCH_NAME
21
strncpy(buf->machine, ARCH_NAME, sizeof(buf->machine) - 1);
22
#else23
strncpy(buf->machine, "unknown", sizeof(buf->machine) - 1);
24
#endif25
26
return 0;
27
}