userspace/libc: add stub uname function

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
EnderIce2 2025-02-12 02:53:44 +02:00
parent 2384791793
commit 6c3eefa85d
No known key found for this signature in database
GPG Key ID: 2EE20AF089811A5A
2 changed files with 71 additions and 0 deletions

View File

@ -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 <https://www.gnu.org/licenses/>.
*/
#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

View File

@ -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 <https://www.gnu.org/licenses/>.
*/
#include <sys/utsname.h>
#include <sys/types.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
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;
}