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("包大小：%lu, package->size_kb);
    }
    int main()
    {
        kdk_package_list *list = kdk_package_get_packagelist();
        printf("系统中一共%u个软件包, list->nums);
        for (size_t i = 0; i < list->nums; i ++)
        {
            print_package(list->list[i]);
        }
        kdk_package_free_packagelist(list);
        printf("Evolution是否安装：%s, kdk_package_is_installed("evolution", NULL) == 1 ? "是" : "否");
        char *version = kdk_package_get_version("evolution");
        printf("Evolution版本号：%s, 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).