feat: 支持uts容器

BREAKING CHANGE:
支持uts容器对外变更:
支持sethostname

Close #I6A7C8

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I2504f77c37bb4149861673c81688bd112563c24b
This commit is contained in:
zhushengle
2023-01-12 14:18:55 +08:00
parent 8701e73c9f
commit 6c8735cb9e
23 changed files with 638 additions and 46 deletions

View File

@@ -53,21 +53,27 @@
int uname(struct utsname *name)
{
INT32 ret;
const char *cpuInfo = NULL;
if (name == NULL) {
return -EFAULT;
}
#ifdef LOSCFG_UTS_CONTAINER
struct utsname *currentUtsName = OsGetCurrUtsName();
if (currentUtsName == NULL) {
return -EFAULT;
}
(VOID)memcpy_s(name, sizeof(struct utsname), currentUtsName, sizeof(struct utsname));
#else
(VOID)strcpy_s(name->sysname, sizeof(name->sysname), KERNEL_NAME);
(VOID)strcpy_s(name->nodename, sizeof(name->nodename), "hisilicon");
ret = sprintf_s(name->version, sizeof(name->version), "%s %u.%u.%u.%u %s %s",
KERNEL_NAME, KERNEL_MAJOR, KERNEL_MINOR, KERNEL_PATCH, KERNEL_ITRE, __DATE__, __TIME__);
(VOID)strcpy_s(name->nodename, sizeof(name->nodename), KERNEL_NODE_NAME);
INT32 ret = sprintf_s(name->version, sizeof(name->version), "%s %u.%u.%u.%u %s %s",
KERNEL_NAME, KERNEL_MAJOR, KERNEL_MINOR, KERNEL_PATCH, KERNEL_ITRE, __DATE__, __TIME__);
if (ret < 0) {
return -EIO;
}
cpuInfo = LOS_CpuInfo();
const char *cpuInfo = LOS_CpuInfo();
(VOID)strcpy_s(name->machine, sizeof(name->machine), cpuInfo);
ret = sprintf_s(name->release, sizeof(name->release), "%u.%u.%u.%u",
KERNEL_MAJOR, KERNEL_MINOR, KERNEL_PATCH, KERNEL_ITRE);
@@ -76,6 +82,7 @@ int uname(struct utsname *name)
}
name->domainname[0] = '\0';
#endif
return 0;
}