diff --git a/Userspace/libc/include/sys/utsname.h b/Userspace/libc/include/sys/utsname.h
new file mode 100644
index 00000000..59a7e3c3
--- /dev/null
+++ b/Userspace/libc/include/sys/utsname.h
@@ -0,0 +1,33 @@
+/*
+ This file is part of Fennix C Library.
+
+ Fennix C Library is free software: you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of
+ the License, or (at your option) any later version.
+
+ Fennix C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Fennix C Library. If not, see .
+*/
+
+#ifndef _SYS_UTSNAME_H
+#define _SYS_UTSNAME_H
+
+struct utsname
+{
+ char sysname[65];
+ char nodename[65];
+ char release[65];
+ char version[65];
+ char machine[65];
+ char domainname[65];
+};
+
+int uname(struct utsname *name);
+
+#endif // !_SYS_UTSNAME_H
diff --git a/Userspace/libc/src/std/sys/utsname.c b/Userspace/libc/src/std/sys/utsname.c
new file mode 100644
index 00000000..832d8324
--- /dev/null
+++ b/Userspace/libc/src/std/sys/utsname.c
@@ -0,0 +1,38 @@
+/*
+ This file is part of Fennix C Library.
+
+ Fennix C Library is free software: you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of
+ the License, or (at your option) any later version.
+
+ Fennix C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Fennix C Library. If not, see .
+*/
+
+#include
+#include
+#include
+#include
+#include
+
+export int uname(struct utsname *name)
+{
+ if (name == NULL)
+ return -1;
+
+ if (gethostname(name->nodename, sizeof(name->nodename)) != 0)
+ return -1;
+
+ strcpy(name->sysname, "Fennix");
+ strcpy(name->release, "1.0.0");
+ strcpy(name->version, "Fennix Version 1.0.0");
+ strcpy(name->machine, "x86_64");
+
+ return 0;
+}