|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 1/1] Implement sethostname and uname
Thanks for the patch, Vlad! Don't forget your Signed-off-by next time.
Reviewed-by: Costin Lupu <costin.lupu@xxxxxxxxx>
On 9/9/19 4:18 PM, Vlad-Andrei BĂDOIU (78692) wrote:
> ---
> lib/uksysinfo/exportsyms.uk | 1 +
> lib/uksysinfo/sysinfo.c | 39 +++++++++++++++++++++++++++++++++++++
> 2 files changed, 40 insertions(+)
>
> diff --git a/lib/uksysinfo/exportsyms.uk b/lib/uksysinfo/exportsyms.uk
> index 2e35b6fa..73e1fe99 100644
> --- a/lib/uksysinfo/exportsyms.uk
> +++ b/lib/uksysinfo/exportsyms.uk
> @@ -5,3 +5,4 @@ pathconf
> getpagesize
> uname
> gethostname
> +sethostname
> diff --git a/lib/uksysinfo/sysinfo.c b/lib/uksysinfo/sysinfo.c
> index 15e097c4..b41b2f7b 100644
> --- a/lib/uksysinfo/sysinfo.c
> +++ b/lib/uksysinfo/sysinfo.c
> @@ -39,6 +39,21 @@
> #include <string.h>
> #include <sys/utsname.h>
> #include <uk/essentials.h>
> +#include <uk/config.h>
> +
> +static struct utsname utsname = {
> + .sysname = "Unikraft",
> + .nodename = "unikraft",
> + .release = STRINGIFY(UK_CODENAME),
> + .version = STRINGIFY(UK_FULLVERSION),
> +#ifdef ARCH_X86_64
> + .machine = "x86_64"
> +#elif ARCH_ARM_64
> + .machine = "arm64"
> +#elif ARCH_ARM_32
> + .machine = "arm32"
> +#endif
> +};
>
> long fpathconf(int fd __unused, int name __unused)
> {
> @@ -70,6 +85,30 @@ int getpagesize(void)
>
> int uname(struct utsname *buf __unused)
> {
> + if (buf == NULL) {
> + errno = EFAULT;
> + return -1;
> + }
> +
> + memcpy(buf, &utsname, sizeof(struct utsname));
> + return 0;
> +}
> +
> +int sethostname(const char *name, size_t len)
> +{
> + if (name == NULL) {
> + errno = EFAULT;
> + return -1;
> + }
> +
> + if (len < 0 || len > sizeof(utsname.nodename)) {
> + errno = EINVAL;
> + return -1;
> + }
> +
> + strncpy(utsname.nodename, name, len);
> + if (len < sizeof(utsname.nodename))
> + utsname.nodename[len] = 0;
> return 0;
> }
>
>
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |