KDK_SYSTEM_GET_APPSCENE(3)
💖 kdk_system_get_appScene — a.k.a. the "what is this app even FOR" getter 💖
okay bestie, welcome to the Library Functions Manual page for kdk_system_get_appScene(3) 🫶 yes that's the whole manual name, we're fancy like that.
✨ NAME ✨
kdk_system_get_appScene — 获取应用场景 (get the application scenario, bestie, that's the vibe)
🌸 SYNOPSIS 🌸
#include <libkysysinfo.h>
extern char *kdk_system_get_appScene();
Link with -lkysysinfo.
💅 heads up: that Link with -lkysysinfo. line is inside the synopsis block, exactly like the original. don't come for me.
🦋 Detailed Description 🦋
so like, the main function of the interface is to obtain application scenarios. that's it. that's the whole job. she's a one-trick pony and she EATS every time 👑
🎀 RETURN VALUE 🎀
- On success, returns the application scenarios of type
char*. ✨ - The content is
{EDU}. - The returned string needs to be released by
free— no cap, if you don'tfreeit, that's a memory leak and she will remember. 💀
🔥 EXAMPLES 🔥
here's the full demo program, copied character-for-character because we do NOT play with code:
#include <libkysysinfo.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *res = kdk_system_get_architecture();
printf("架构:%s0, res);
free(res);
res = kdk_system_get_systemName();
printf("系统名称:%s0, res);
free(res);
res = kdk_system_get_version(0);
printf("系统简略版本:%s0, res);
free(res);
res = kdk_system_get_version(1);
printf("系统详细版本:%s0, res);
free(res);
res = kdk_system_get_kernelVersion();
printf("内核版本:%s0, res);
free(res);
res = kdk_system_get_serialNumber();
printf("序列号:%s0, res);
free(res);
int p;
int d;
int act = kdk_system_get_activationStatus(&p,&d);
printf("--------------0);
printf("激活状态码:%d0,act);
printf("激活状态:%s0, act == 1 ? "已激活" : act == 0 ? "未激活" : "已过期");
res = kdk_system_get_eUser();
printf("当前用户:%s0, res);
// free(res);
res = kdk_system_get_eUser_login_time();
printf("登录时间:%s0, res);
res = kdk_system_get_projectName();
printf("项目编号名:%s0, res);
free(res);
int zyj = kdk_system_is_zyj();
printf("专用机:%s0, zyj == 0 ? "非专用机":"专用机");
res = kdk_system_get_hostVirtType();
printf("虚拟机类型:%s0, res);
free(res);
res = kdk_system_get_hostCloudPlatform();
printf("云平台类型:%s0, res);
free(res);
version_t test = kdk_system_get_version_detaile( );
printf("test.os_version = %s0,test.os_version);
printf("test.update_version = %s0,test.update_version);
char** name = kdk_system_get_resolving_power();
// printf("name = %s0, name);
size_t count = 0;
while (name[count])
{
printf("No. %d %s0, count + 1, name[count]);
count ++;
}
kdk_resolving_freeall(name);
char *ver = kdk_system_get_systemCategory();
printf("系统硬件版本类别 = %s0, ver);
free(ver);
// ver = kdk_system_get_cloudPlatformType();
// printf("云平台类型 = %s0, ver);
// free(ver);
char **ud_time = kdk_system_get_startup_time();
count = 0;
while (ud_time[count])
{
printf("开机时间 = %s0, ud_time[count]);
count++;
}
kdk_resolving_freeall(ud_time);
ud_time = kdk_system_get_shutdown_time();
count = 0;
while (ud_time[count])
{
printf("关机时间 = %s0, ud_time[count]);
count++;
}
kdk_resolving_freeall(ud_time);
res = kdk_get_host_vendor();
printf("整机制造商 = %s0, res);
free(res);
res = kdk_get_host_product();
printf("整机型号 = %s0, res);
free(res);
res = kdk_get_host_serial();
printf("整机序列号 = %s0, res);
free(res);
res = kdk_system_get_buildTime();
printf("构建时间:%s0, res);
free(res);
res = kdk_system_get_hostName();
printf("主机名:%s0, res);
free(res);
printf("系统位数:%d0, kdk_system_get_word());
struct KPci *pci = kdk_hw_get_pci_info();
struct KPci *tmp = pci;
while (tmp)
{
printf("slot path : %s0, tmp->slot_path);
printf("class name :%s0, tmp->class_name);
printf("product name :%s0, tmp->product_name);
printf("rev :%02x0, tmp->rev);
printf("subsystem name :%s0, tmp->ss_name);
printf("driver user :%s0, tmp->driver_use);
printf("modules :");
for(int i = 0; i < tmp->module_count; i++)
{
printf("%s", tmp->modules[i]);
}
printf("0);
tmp = tmp->next;
}
kdk_hw_free_pci_info(pci);
res = kdk_system_get_appScene();
printf("应用场景:%s0, res);
free(res);
return 0;
}
like, yes, she calls literally every sibling function in the family before she gets to kdk_system_get_appScene() at the very end. main character energy tbh 🌟 and notice she frees the result — the original said to, and she listened 💜
🌈 CONFORMING TO 🌈
These functions are as per the withdrawn POSIX.1e draft specification. (rip POSIX.1e, gone but not forgotten 🕯️)
The following functions are Linux extensions:
kdk_system_get_systemName()kdk_system_get_architecture()kdk_system_get_activationStatus()kdk_system_get_version()kdk_system_get_serialNumber()kdk_system_get_kernelVersion()kdk_system_get_eUser()kdk_system_get_eUser_login_time()kdk_system_get_projectName()kdk_system_get_projectSubName()kdk_system_get_productFeatures()kdk_system_get_hostVirtType()kdk_system_get_hostCloudPlatform()kdk_system_is_zyj()kdk_system_get_version_detaile()kdk_system_get_resolving_power()kdk_system_get_systemCategory()kdk_system_get_startup_time()kdk_system_get_shutdown_time()kdk_get_host_vendor()kdk_get_host_product()kdk_get_host_serial()kdk_system_get_hostName()kdk_system_get_word()kdk_system_get_buildTime()kdk_resolving_freeall()kdk_hw_get_pci_info()- and
kdk_hw_free_pci_info()
(yes that's the whole squad, no one got left out 💖)
👑 SEE ALSO 👑
kdk_system_get_systemName(3)kdk_system_get_architecture(3)kdk_system_get_version(3)kdk_system_get_activationStatus(3)kdk_system_get_serialNumber(3)kdk_system_get_kernelVersion(3)kdk_system_get_eUser(3)kdk_system_get_eUser_login_time(3)kdk_system_get_projectName(3)kdk_system_get_projectSubName(3)kdk_system_get_productFeatures(3)kdk_system_get_hostVirtType(3)kdk_system_get_hostCloudPlatform(3)kdk_system_is_zyj(3)kdk_system_get_version_detaile(3)kdk_system_get_resolving_power(3)kdk_system_get_systemCategory(3)kdk_system_get_startup_time(3)kdk_system_get_shutdown_time(3)kdk_get_host_vendor(3)kdk_get_host_product(3)kdk_get_host_serial(3)kdk_system_get_hostName(3)kdk_system_get_word(3)kdk_system_get_buildTime(3)kdk_resolving_freeall(3)kdk_hw_get_pci_info(3)- and
kdk_hw_free_pci_info(3)
and that's the whole page bestie 💜 go forth, get your app scene, free your string, and slay ✨
from the Linux Programmer's Manual, dated Tue Sep 19 2023 — mwah, ily, bye 🎀
📦 where this page comes from
- arch rolling: libkysdk-system 3.0.1.4-1 · LGPL-3.0-or-later AND LGPL-2.1-only OR LGPL-3.0-only AND LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR LGPL-3.0-only WITH Qt-LGPL-exception-1.1 AND MIT
- ubuntu resolute: libkysdk-system-dev 3.0.1.2-0ubuntu1 · LGPL-3.0-only
- ubuntu stonking: libkysdk-system-dev 3.0.1.3-0ubuntu1 · LGPL-3.0-or-later
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms