| KDK_PACKAGE_GET_PACKAGELIST(3) | Library Functions Manual | KDK_PACKAGE_GET_PACKAGELIST(3) |
NAME
kdk_package_get_packagelist - 获取系统中所有包列表
SYNOPSIS
#include <libkypackages.h> extern kdk_package_list* kdk_package_get_packagelist(); Link with -lkypackage.
Detailed Description
The main function of the interface is to obtain a list of all packages in the system.
RETURN VALUE
On success, returns a pointer to a kdk_package_list structure containing gateway information.
The kdk_package_list structure is defined in <libkypackages.h> as follows:
typedef struct {
unsigned int nums;
kdk_package_t **list;
}kdk_package_list;
typedef struct _kdk_package_t{
char *name; // 包名
char *version; // 版本号
char *section; // 包类型
char *status; // 状态
unsigned long size_kb; // 包大小
struct _kdk_package_t **depends; // 依赖包
}kdk_package_t;
On error, return NULL.
EXAMPLES
#include "libkypackages.h"
#include <stdio.h>
static void print_package(kdk_package_t *package)
{
printf("包名:%s", package->name);
printf("版本号:%s", package->version);
printf("包类型:%s", package->section);
printf("包状态:%s", package->status);
printf("包大小:%lu0, package->size_kb);
}
int main()
{
kdk_package_list *list = kdk_package_get_packagelist();
printf("系统中一共%u个软件包0, list->nums);
for (size_t i = 0; i < list->nums; i ++)
{
print_package(list->list[i]);
}
kdk_package_free_packagelist(list);
printf("Evolution是否安装:%s0, kdk_package_is_installed("evolution", NULL) == 1 ? "是" : "否");
char *version = kdk_package_get_version("evolution");
printf("Evolution版本号:%s0, version);
free(version);
return 0;
}
CONFORMING TO
These functions are as per the withdrawn POSIX.1e draft specification. The following functions are Linux extensions: kdk_package_free_packagelist(), kdk_package_get_version() and kdk_package_is_installed().
SEE ALSO
kdk_package_free_packagelist(3), kdk_package_get_version(3) and kdk_package_is_installed(3).
| Mon Sep 18 2023 | Linux Programmer's Manual |