!16 fix bug 184351 184469;update changelog;删除文档

Merge pull request !16 from szm-min/openkylin/yangtze
This commit is contained in:
szm-min 2023-08-01 05:58:36 +00:00 committed by Gitee
commit 3d174f3008
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
8 changed files with 181 additions and 550 deletions

8
debian/changelog vendored
View File

@ -1,3 +1,11 @@
libkysdk-system (2.2.3.5-0k0.8) yangtze; urgency=medium
*Bug号184351 184469
*需求号:
*其他修改:
-- szm-min <shaozhimin@kylinos.cn> Tue, 01 Aug 2023 10:29:00 +0800
libkysdk-system (2.2.3.5-0k0.7) yangtze; urgency=medium
*Bug号181529 184238 180502 184351

View File

@ -590,6 +590,7 @@ char* kdk_get_hard_disk_size(const char *hardname)
{
return NULL;
}
memset(hard_size, 0, 128);
kdk_diskinfo *sdainfo = kdk_get_diskinfo(hardname);
if (!sdainfo)
{
@ -598,6 +599,11 @@ char* kdk_get_hard_disk_size(const char *hardname)
}
sprintf(hard_size,"%f",sdainfo->total_size_MiB);
kdk_free_diskinfo(sdainfo);
if(strlen(hard_size) == 0)
{
free(hard_size);
return NULL;
}
return hard_size;
}
@ -615,6 +621,7 @@ char* kdk_get_hard_fwrev(const char *hardname)
{
return NULL;
}
memset(hard_fwrev, 0, 128);
kdk_diskinfo *sdainfo = kdk_get_diskinfo(hardname);
if (!sdainfo)
@ -642,7 +649,7 @@ char* kdk_get_hard_fwrev(const char *hardname)
}
}
pclose(fp);
if(fwrev)
if(fwrev[0] != '\0')
{
strcpy(hard_fwrev, fwrev);
}
@ -752,6 +759,7 @@ char* kdk_get_hard_serial(const char *hardname)
{
return NULL;
}
memset(hard_serial, 0, 128);
char line[256] = "\0";
char path[128] = "\0";
char tmp[1024] = "\0";

View File

@ -186,6 +186,10 @@ char* kdk_bluetooth_get_name(int id)
char name[249];
int i;
char *version = (char *)malloc(sizeof(char) * 64);
if(!version)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -226,7 +230,7 @@ char* kdk_bluetooth_get_address(int id)
{
int ctl;
static struct hci_dev_info di;
char addr[18];
char addr[18] = "\0";
char *address = (char *)malloc(sizeof(char) * 64);
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
@ -244,7 +248,7 @@ char* kdk_bluetooth_get_address(int id)
}
ba2str(&di.bdaddr, addr);
if(addr)
if(addr[0] != '\0')
{
strcpy(address, addr);
return address;
@ -257,10 +261,14 @@ char* kdk_bluetooth_get_address(int id)
char* kdk_bluetooth_get_link_mode(int id)
{
char *str;
char *str = NULL;
int ctl;
static struct hci_dev_info di;
char *link_mode = (char *)malloc(sizeof(char) * 64);
if(!link_mode)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -293,6 +301,10 @@ char* kdk_bluetooth_get_link_policy(int id)
int ctl;
static struct hci_dev_info di;
char *link_policy = (char *)malloc(sizeof(char) * 64);
if(!link_policy)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -317,6 +329,10 @@ char* kdk_bluetooth_get_bus(int id)
int ctl;
static struct hci_dev_info di;
char *bus = (char *)malloc(sizeof(char) * 64);
if(!bus)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -343,6 +359,10 @@ char* kdk_bluetooth_get_scomtu(int id)
char addr[18];
char tmp[20] = "\0";
char *scomtu = (char *)malloc(sizeof(char) * 64);
if(!scomtu)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -370,6 +390,10 @@ char* kdk_bluetooth_get_alcmtu(int id)
static struct hci_dev_info di;
char tmp[20] = "\0";
char *alcmtu = (char *)malloc(sizeof(char) * 64);
if(!alcmtu)
{
return NULL;
}
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -397,6 +421,8 @@ char* kdk_bluetooth_get_packettype(int id)
static struct hci_dev_info di;
char *packettype = (char *)malloc(sizeof(char) * 64);
if(!packettype)
return NULL;
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{
@ -423,6 +449,8 @@ char* kdk_bluetooth_get_features(int id)
static struct hci_dev_info di;
char tmp[50] = "\0";
char *features = (char *)malloc(sizeof(char) * 64);
if(!features)
return NULL;
if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0)
{

View File

@ -14,7 +14,7 @@ char *display_get_info(char *str)
klog_err("内存申请失败:%s\n", strerror(errno));
return NULL;
}
memset(display, 0, sizeof(display));
memset(display, 0, 512);
char buf[1024] = {0};
memset(buf, 0, sizeof(buf));
int i = 0;

View File

@ -15,7 +15,7 @@
static int edid_lines = 0;
static int claims_one_point_oh = 0;
// static int claims_one_point_oh = 0;
static int claims_one_point_two = 0;
static int claims_one_point_three = 0;
static int claims_one_point_four = 0;
@ -25,8 +25,8 @@ static char* get_val_from_file(FILE *fp, const char *key)
if (! fp)
return NULL;
char *val = NULL;
char buf[1024] = {0};
while (fgets(buf, 1024, fp))
char buf[2048] = {0};
while (fgets(buf, 2048, fp))
{
if (strncmp(buf, key, strlen(key)) == 0)
{
@ -56,8 +56,11 @@ int verify_file(char *pFileName)
void kdk_edid(char *name)
{
char edid_text[2048] = "\0";
char *edid_character = (char *)malloc(sizeof(char) * 512);
char temp[512] = "\0";
char *edid_character = (char *)malloc(sizeof(char) * 1024);
if(!edid_character)
{
return;
}
FILE *pipeLine = popen("xrandr --prop", "r"); // 建立流管道
if (!pipeLine)
{
@ -116,13 +119,7 @@ char **kdk_edid_get_interface()
XRROutputInfo *info;
int iscres;
int icrtc;
char name[100];
char *tmp = (char *)malloc(100 * sizeof(char));
if (!tmp)
{
klog_err("内存申请失败:%s\n", strerror(errno));
return NULL;
}
char tmp[128] = "\0";
char **res = NULL;
int count = 0;
char test[100] = {0};
@ -138,7 +135,7 @@ char **kdk_edid_get_interface()
{
for (icrtc = info->ncrtc; icrtc > 0;)
{
memset(tmp, 0, 100 * sizeof(char));
memset(tmp, 0, sizeof(tmp));
if (strstr(test, info->name))
{
@ -146,12 +143,10 @@ char **kdk_edid_get_interface()
}
else
{
strcpy(name, info->name);
strcat(tmp, name);
strcpy(tmp, info->name);
strcpy(test, tmp);
--icrtc;
}
strcat(test, tmp);
strcat(test, ",");
res = realloc(res, (count + 1) * sizeof(char *));
if (!res)
@ -172,14 +167,10 @@ char **kdk_edid_get_interface()
XRRFreeOutputInfo(info);
}
XRRFreeScreenResources(screen);
free(tmp);
res[count] = NULL;
goto out;
err_out:
#ifdef __linux__
free(tmp);
#endif
while (count)
{
free(res[count - 1]);
@ -425,15 +416,15 @@ const float kdk_edid_get_gamma(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
float ga = 0.00;
char canonical_filename[100] = "\0";
char filename[100] = "\0";
char edid_text[24] = "\0";
char num[24] = "\0";
char line[11520] = "\0";
// char edid_text[24] = "\0";
// char num[24] = "\0";
// char line[11520] = "\0";
char str_name[32] = "\0";
strcpy(str_name, name);
dirfd = opendir("/sys/class/drm");
@ -552,13 +543,13 @@ float kdk_edid_get_size(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
float size = 0.00;
char filename[100] = "\0";
char edid_text[24] = "\0";
// char edid_text[24] = "\0";
char str_name[32] = "\0";
strcpy(str_name, name);
@ -677,17 +668,18 @@ char *kdk_edid_get_max_resolution(char *name)
return NULL;
}
char edid_text[2048] = "\0";
char tmp[32] = "\0";
char *res = (char *)malloc(sizeof(char) * 32);
char tmp[64] = "\0";
char *res = (char *)malloc(sizeof(char) * 64);
if(!res)
{
return NULL;
}
memset(res, 0, 64);
FILE *pipeLine = popen("xrandr --prop", "r"); // 建立流管道
if (!pipeLine)
{
free(res);
return;
return NULL;
}
int i = 0;
while(fgets(edid_text, sizeof(edid_text), pipeLine))
@ -698,16 +690,21 @@ char *kdk_edid_get_max_resolution(char *name)
{
i = 1;
}
else{
continue;
}
continue;
}
if(strstr(edid_text, "+"))
{
strcpy(tmp, edid_text);
strncpy(tmp, edid_text, 63);
}
}
pclose(pipeLine);
sscanf(tmp, "%s", res);
if(strlen(res) == 0)
{
free(res);
return NULL;
}
return res;
}
@ -782,25 +779,32 @@ char *kdk_edid_get_model(char *name)
return NULL;
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char str_path[256] = "\0";
// unsigned char *edid;
char path[512] = "\0";
char str_path[600] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
char filename[100] = "\0";
char edid_text[24] = "\0";
char *model = NULL;
char *edid_text = NULL;
char *model = (char *) malloc(128 *sizeof(char));
if(!model)
{
return NULL;
}
memset(model, 0, 128);
char str_name[32] = "\0";
strcpy(str_name, name);
dirfd = opendir("/sys/class/drm");
if (!dirfd)
{
free(model);
return NULL;
}
char **fg = strsplit(str_name, '-');
if (!fg)
{
free(model);
closedir(dirfd);
return NULL;
}
@ -817,81 +821,70 @@ char *kdk_edid_get_model(char *name)
if (!realpath(path, canonical_filename) || !verify_file(canonical_filename) \
|| (fd = open(canonical_filename, O_RDONLY)) == -1)
{
// close(fd);
kdk_edid(name);
if (!realpath("/tmp/sdk-edid", filename) || !verify_file(filename))
{
free(model);
return NULL;
}
FILE *fs = fopen(filename, "r");
if(!fs)
{
free(model);
return NULL;
}
fclose(fs);
FILE *fp = popen("edid-decode /tmp/sdk-edid", "r");
if(!fp)
{
free(model);
return NULL;
}
model = get_val_from_file(fp, "Display Product Name");
if(model)
edid_text = get_val_from_file(fp, "Display Product Name");
if(!edid_text)
{
strstripspace(model);
pclose(fp);
return model;
char *str_model = get_val_from_file(fp, "Alphanumeric Data String");
if(!str_model)
{
goto err_out;
}
else{
strcpy(model, str_model);
}
}
else{
strcpy(model, edid_text);
}
if(strlen(model) == 0)
{
goto err_out;
}
strstripspace(model);
pclose(fp);
return model;
}
sprintf(str_path, "edid-decode %s", path);
FILE *fp = popen(str_path, "r");
if(!fp)
{
return NULL;
goto err_out;
}
model = get_val_from_file(fp, "Display Product Name");
if(model)
edid_text = get_val_from_file(fp, "Display Product Name");
if(!edid_text)
{
strstripspace(model);
}
pclose(fp);
if(!model)
{
// close(fd);
kdk_edid(name);
if (!realpath("/tmp/sdk-edid", filename) || !verify_file(filename))
char *str_model = get_val_from_file(fp, "Alphanumeric Data String");
if(!str_model)
{
return NULL;
}
FILE *fs = fopen(filename, "r");
if(!fs)
{
return NULL;
}
fclose(fs);
FILE *fp = popen("edid-decode /tmp/sdk-edid", "r");
if(!fp)
{
return NULL;
}
char *src_model = get_val_from_file(fp, "Alphanumeric Data String");
pclose(fp);
if(src_model)
{
strstripspace(src_model);
return src_model;
}
else{
hd_data_t *hd_data;
hd_data = (hd_data_t *)calloc(1, sizeof *hd_data);
if(!hd_data)
return NULL;
char *src_model = (char *)malloc(sizeof(char) * 512);
if (!src_model)
{
free(hd_data);
return NULL;
goto err_out;
}
char src_model[128] = "\0";
memset(src_model, 0, 128);
hd_data->progress = NULL;
hd_data->debug = ~(HD_DEB_DRIVER_INFO | HD_DEB_HDDB);
@ -903,15 +896,35 @@ char *kdk_edid_get_model(char *name)
if(hd->model)
{
strcpy(src_model, hd->model);
free(hd_data);
return src_model;
}
}
free(hd_data);
free(src_model);
if(strlen(src_model) == 0)
{
goto err_out;
}
else{
strcpy(model, src_model);
}
}
else{
strcpy(model, str_model);
}
}
else{
strcpy(model, edid_text);
}
if(strlen(model) == 0)
{
goto err_out;
}
strstripspace(model);
pclose(fp);
return model;
err_out:
free(model);
pclose(fp);
return NULL;
}
char *kdk_edid_get_visible_area(char *name)
@ -922,17 +935,17 @@ char *kdk_edid_get_visible_area(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
char tmp[20] = "\0";
char filename[100] = "\0";
char edid_text[24] = "\0";
// char edid_text[24] = "\0";
char str_name[32] = "\0";
strcpy(str_name, name);
char *area = (char *)malloc(sizeof(char) * 20);
char *area = (char *)malloc(sizeof(char) * 32);
if (!area)
{
klog_err("内存申请失败:%s\n", strerror(errno));
@ -1078,7 +1091,7 @@ char *kdk_edid_get_manufacturer(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
@ -1091,6 +1104,7 @@ char *kdk_edid_get_manufacturer(char *name)
{
return NULL;
}
memset(manufacturer, 0, 128);
dirfd = opendir("/sys/class/drm");
if (!dirfd)
@ -1148,8 +1162,16 @@ char *kdk_edid_get_manufacturer(char *name)
free(manufacturer);
return NULL;
}
char tmp[16] = "\0";
char tmp[128] = "\0";
sscanf(msize, "%s", tmp);
if(tmp[0] == '\0')
{
free(msize);
closedir(dirfd);
pclose(fp);
free(manufacturer);
return NULL;
}
strcpy(manufacturer, tmp);
free(msize);
closedir(dirfd);
@ -1201,7 +1223,7 @@ int kdk_edid_get_week(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
@ -1336,7 +1358,7 @@ int kdk_edid_get_year(char *name)
}
int fd;
unsigned char *edid;
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
@ -1511,6 +1533,7 @@ char *kdk_edid_get_resolution(char *name)
{
return NULL;
}
memset(resolution, 0, 20);
disp = XOpenDisplay(0);
screen = XRRGetScreenResources(disp, DefaultRootWindow(disp));
@ -1540,6 +1563,11 @@ char *kdk_edid_get_resolution(char *name)
XRRFreeOutputInfo(info);
}
XRRFreeScreenResources(screen);
if(strlen(resolution) == 0)
{
free(resolution);
return NULL;
}
return resolution;
}
@ -1613,17 +1641,17 @@ char* kdk_edid_get_character(char *name)
return NULL;
}
FILE *fd = NULL;
char *chater = (char *)malloc(sizeof(char) * 1024);
char *chater = (char *)malloc(sizeof(char) * 2048);
if(!chater)
{
return NULL;
}
char path[128] = "\0";
char path[512] = "\0";
DIR *dirfd = NULL;
struct dirent *direfd = NULL;
char canonical_filename[100] = "\0";
unsigned char buf[512] = "\0";
char hex[1024] = "\0";
unsigned char buf[2048] = "\0";
char hex[2048] = "\0";
char str_name[32] = "\0";
strcpy(str_name, name);
@ -1657,6 +1685,10 @@ char* kdk_edid_get_character(char *name)
free(chater);
char edid_text[2048] = "\0";
char *edid_character = (char *)malloc(sizeof(char) * 2048);
if(!edid_character)
{
return NULL;
}
FILE *pipeLine = popen("xrandr --prop", "r"); // 建立流管道
if (!pipeLine)
{
@ -1664,7 +1696,7 @@ char* kdk_edid_get_character(char *name)
return NULL;
}
int i = 0;
memset(edid_character, 0, sizeof(edid_character));
memset(edid_character, 0, 2048);
while(fgets(edid_text, sizeof(edid_text), pipeLine))
{
if(i != 1)

View File

@ -6,18 +6,6 @@ int main()
{
char** name = kdk_edid_get_interface();
size_t count = 0;
// float gamma = 0.00;
// float size = 0.00;
// char* max_resolution = NULL;
// char* model = NULL;
// char *area = NULL;
// char *manufacturer = NULL;
// int week;
// int year;
// int primary;
// char* resolution = NULL;
// char *ratio = NULL;
// char *character = NULL;
while (name[count])
{
printf("当前接口 = %s\n", name[count]);
@ -61,4 +49,4 @@ int main()
}
kdk_edid_freeall(name);
return 0;
}
}

View File

@ -1,435 +0,0 @@
# 系统能力SDK
## 分辨率
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/resolution/
**接口名称:** com.kylin.kysdk.resolution
Methods
1. QStringList getSysLegalResolution(void)
输出:屏幕,屏幕设置的分辨率,屏幕支持的分辨率
**JS接口**
URL
1. 127.0.0.1:8090/resolution/getSysLegalResolution
网页返回值:{"Result":0,"ResultMessage":["Arial","Helvetica","Times","Courier"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getSysLegalResolution()方法输出的信息
---
## 网络连接
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/netLink/
**接口名称:** com.kylin.kysdk.netLink
Methods
1. unsigned int getNetState(void)
输出: 网络连接状态
**JS接口**
URL
1. 127.0.0.1:8090/netLink/getNetState
网页返回值:{"Result":0,"ResultMessage":60}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getNetState()方法输出的信息
---
## 外设打印
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/print/
**接口名称:** com.kylin.kysdk.print
Methods
1. print - 应用程序打印文档、图片
in: string
out: bool
---
## 外设设备枚举
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/peripheralsenum/
**接口名称:** com.kylin.kysdk.peripheralsenum
Methods
1. QStringList getAllUsbInfo(void)
输出所有usb设备的名称、类型、PID、VID、序列号、设备节点若没有对应信息输出null
**JS接口**
URL
1. 127.0.0.1:8090/peripheralsenum/getAllUsbInfo
网页返回值:{"Result":0,"ResultMessage":["bing","hausd"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getAllUsbInfo()方法输出的信息
---
## 网卡信息
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/netcard/
**接口名称:** com.kylin.kysdk.netcard
Methods
1. QStringList getNetCardName(void)
输出:所有网卡的名称
2. int getNetCardType(QString netCardName)
输入:网卡名称
输出:网卡类型,有线(0)/无线(1)
3. QStringList getNetCardProduct(QString netCardName)
输入:网卡名称
输出:厂商,型号
**JS接口**
URL
1. 127.0.0.1:8090/netcard/getNetCardName
网页返回值:{"Result":0,"ResultMessage":["sit0"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getNetCardName()方法输出的信息
2. 127.0.0.1:8090/netcard/getNetCardType?netCardName=test
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getNetCardType(QString netCardName)方法输出的信息URL中“”之后为参数netCardName
并给netCardName参数赋值为“test”
3. 127.0.0.1:8090/netcard/getNetCardProduct?netCardName=test
网页返回值:{"Result":0,"ResultMessage":["netCardName","vendor","product"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getNetCardProduct(QString netCardName)方法输出的信息URL中“”之后为参数netCardName
并给netCardName参数赋值为“test”
---
## BIOS信息
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/bios/
**接口名称:** com.kylin.kysdk.bios
Methods
1. QStringList getBiosVendorVersion(void)
输出BIOS厂商版本号
**JS接口**
URL
1. 127.0.0.1:8090/bios/getBiosVendorVersion
网页返回值:{"Result":0,"ResultMessage":["Vendor: LENOVO","Version: 7VET87WW (3.17 )","Release Date: 07/30/2010","Address: 0xE0000","Runtime Size: 128 kB"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getBiosVendorVersion()方法输出的信息
---
## 主板信息
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/mainboard/
**接口名称:** com.kylin.kysdk.mainboard
Methods
1. QString getMainboardName(void)
输出:主板型号
2. QString getMainboardDate(void)
输出:发布日期
3. QString getMainboardSerial(void)
输出:主板序列号
4. QString getMainboardVendor(void)
输出:主板厂商
**JS接口**
URL
1. 127.0.0.1:8090/mainboard/getMainboardName
网页返回值:{"Result":0,"ResultMessage":"Intel Corporation"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getMainboardName()方法输出的信息
2. 127.0.0.1:8090/mainboard/getMainboardDate
网页返回值:{"Result":0,"ResultMessage":"8570 / R7 240/340"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getMainboardDate()方法输出的信息
3. 127.0.0.1:8090/mainboard/getMainboardSerial
网页返回值:{"Result":0,"ResultMessage":"AZPM61102417"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getMainboardSerial()方法输出的信息
4. 127.0.0.1:8090/mainboard/getMainboardVendor
网页返回值:{"Result":0,"ResultMessage":"DMI type 2, 20 bytes."}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getMainboardVendor()方法输出的信息
---
## 磁盘
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/disk/
**接口名称:** com.kylin.kysdk.disk
Methods
1. QString getDiskType(QString)
输入:指定磁盘
输出:磁盘类型,机械(DISK_TYPE_HDD)/固态(DISK_TYPE_SSD)/其他(DISK_TYPE_OTHER)
2. QString getDiskVersion(QString diskname)
输入:指定磁盘
输出:固件版本信息
3. unsigned int getDiskSpeed(QString diskname)
输入:指定磁盘
输出:返回磁盘转速
4. unsigned long long getDiskSectorNum(QString diskname)
输入:指定磁盘
输出:返回磁盘扇区数量
**JS接口**
URL
1. 127.0.0.1:8090/disk/getDiskType?diskname=test
网页返回值:{"Result":0,"ResultMessage":"DISK_TYPE_SSD"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getDiskType(QString diskname)方法输出的信息URL中“”之后为参数diskname
并给diskname参数赋值为“test”
2. 127.0.0.1:8090/disk/getDiskVersion?diskname=test
网页返回值:{"Result":0,"ResultMessage":"CT500MX500SSD1M3CR"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getDiskVersion(QString diskname)方法输出的信息URL中“”之后为参数diskname
并给diskname参数赋值为“test”
3. 127.0.0.1:8090/disk/getDiskSpeed?diskname=test
网页返回值:{"Result":0,"ResultMessage":"5400"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getDiskSpeed(QString diskname)方法输出的信息URL中“”之后为参数diskname
并给diskname参数赋值为“test”
4. 127.0.0.1:8090/disk/getDiskSectorNum?diskname=test
网页返回值:{"Result":0,"ResultMessage":"12345678900"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getDiskSectorNum(QString diskname)方法输出的信息URL中“”之后为参数diskname
并给diskname参数赋值为“test”
---
## 网络
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/net/
**接口名称:** com.kylin.kysdk.net
Methods获取端口状态网关信息防火墙状态
1. int getPortState(int port)
输入:端口号
输出:端口状态
0-FREE 1-TCP_ESTABLISHED, 2-TCP_SYN_SENT, 3-TCP_SYN_RECV,
4-TCP_FIN_WAIT1 5-TCP_FIN_WAIT2 6-TCP_TIME_WAIT, 7-TCP_CLOSE, 8-TCP_CLOSE_WAIT, 9-TCP_LAST_ACL 10-TCP_LISTEN, 11-TCP_CLOSING
2. QStringList getGatewayInfo(void)
输出:网关信息-名称,地址
3. getFirewallState?
**JS接口**
URL
1. 127.0.0.1:8090/net/getPortState?port=12345
网页返回值:{"Result":0,"ResultMessage":6}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getPortState(int port)方法输出的信息URL中“”之后为参数port
并给port参数赋值为12345
2. 127.0.0.1:8090/net/getGatewayInfo
网页返回值:{"Result":0,"ResultMessage":["WIFI","Address"]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getGatewayInfo)方法输出的信息
---
## 运行时信息
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/runinfo/
**接口名称:** com.kylin.kysdk.runinfo
Methods
1. double getIoSpeed(void)
输出实时IO读写速率
2. double getNetSpeed(void)
输出:实时网速
3. double getMainboardTemperature(void)
输出:实时主板温度?
4. double getCpuTemperature(void)
输出实时CPU温度
5. double getDiskTemperature(QString diskpath)
输入:硬盘绝对路径
输出:实时硬盘温度
**JS接口**
URL
1. 127.0.0.1:8090/runinfo/getIoSpeed
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getIoSpeed()方法输出的信息
2. 127.0.0.1:8090/runinfo/getNetSpeed
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getNetSpeed()方法输出的信息
3. 127.0.0.1:8090/runinfo/getMainboardTemperature
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getMainboardTemperature()方法输出的信息
4. 127.0.0.1:8090/runinfo/getCpuTemperature
网页返回值:{"Result":0,"ResultMessage":67}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getCpuTemperature()方法输出的信息
5. 127.0.0.1:8090/runinfo/getDiskTemperature?diskpath=test
网页返回值:{"Result":0,"ResultMessage":-1}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getDiskTemperature(QString diskpath)方法输出的信息URL中“”之后为参数diskpath
并给diskpath参数赋值为"test"
---
## 地理位置
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/gps/
**接口名称:** com.kylin.kysdk.gps
Methods
1. QString getGPSInfo(void)
输出:国家城市经纬度
**JS接口**
URL
1. 127.0.0.1:8090/gps/getGPSInfo
网页返回值:{"Result":0,"ResultMessage":"117:10E,39:10N"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getGPSInfo()方法输出的信息
---
## 进程信息
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/process/
**接口名称:** com.kylin.kysdk.process
Methods
1. double getProcInfoCpuUsage(int pid)
输入:进程号
输出CPU瞬时使用率
2. double getProcInfoIoUsage(int pid)
输入:进程号
输出IO使用率
3. double getProcInfoMemUsage(int pid)
输入:进程号
输出:内存占用率
4. QString getProcInfoStatus(int pid)
输入:进程号
输出:进程状态
5. int getProcInfoPort(int pid)
输入:进程号
输出:进程使用的端口号
6. QString getProcInfoStartTime(int pid)
输入:进程号
输出:进程的启动时间
7. QString getProcInfoRunningTime(int pid)
输入:进程号
输出:进程的运行时间
8. QString getProcInfoCpuTime(int pid)
输入:进程号
输出CPU时间
9. QString getProcInfoCmd(int pid)
输入:进程号
输出cmd
10. QString getProcInfoUser(int pid)
输入:进程号
输出:属主
11. QStringList getProcInfo(QString processname)
输入:进程名
输出:某进程所有信息
**JS接口**
URL
1. 127.0.0.1:8090/process/getProcInfoCpuUsage?pid=3009
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoCpuUsage(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
2. 127.0.0.1:8090/process/getProcInfoIoUsage?pid=3009
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoIoUsage(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
3. 127.0.0.1:8090/process/getProcInfoMemUsage?pid=3009
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoMemUsage(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
4. 127.0.0.1:8090/process/getProcInfoStatus?pid=3009
网页返回值:{"Result":0,"ResultMessage":"0"}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoStatus(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
5. 127.0.0.1:8090/process/getProcInfoPort?pid=3009
网页返回值:{"Result":0,"ResultMessage":0}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoPort(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
6. 127.0.0.1:8090/process/getProcInfoStartTime?pid=3009
网页返回值:{"Result":0,"ResultMessage":""}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoStartTime(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
7. 127.0.0.1:8090/process/getProcInfoRunningTime?pid=3009
网页返回值:{"Result":0,"ResultMessage":""}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoRunningTime(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
8. 127.0.0.1:8090/process/getProcInfoCpuTime?pid=3009
网页返回值:{"Result":0,"ResultMessage":""}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoCpuTime(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
9. 127.0.0.1:8090/process/getProcInfoCmd?pid=3009
网页返回值:{"Result":0,"ResultMessage":""}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoCmd(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
10. 127.0.0.1:8090/process/getProcInfoUser?pid=3009
网页返回值:{"Result":0,"ResultMessage":""}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfoUser(int pid)方法输出的信息,URL中“”之后为参数pid
并给pid参数赋值为3009
11. 127.0.0.1:8090/process/getProcInfo?processname=bash
网页返回值:{"Result":0,"ResultMessage":[]}
Result连接dbus服务是否成功0 成功,-1失败
ResultMessage调用getProcInfo(QString processname)方法输出的信息,URL中“”之后为参数processname
并给pid参数赋值为"bash"
---
## 依赖关系调整
**服务名称:** com.kylin.kysdk.service
**路径名称:** /com/kylin/kysdk/dependence/
**接口名称:** com.kylin.kysdk.dependence
Methods
1. rmDependence - 移除对任何kylin特性应用的依赖
in: null
out: bool
---

View File

@ -835,6 +835,7 @@ char *kdk_net_get_hosts()
fclose(fp);
return NULL;
}
memset(hosts, 0, 64);
char line[4096] = "\0";
memset(hosts, 0, sizeof(hosts));
while (fgets(line, sizeof(line), fp))
@ -864,6 +865,7 @@ char *kdk_net_get_hosts_domain()
fclose(fp);
return NULL;
}
memset(hosts, 0, 256);
char line[4096] = "\0";
memset(hosts, 0, sizeof(hosts));
int i = 0;