1
0
Fork 0
mirror of https://github.com/pygos/pkg-utils.git synced 2024-05-17 03:36:14 +02:00
pkg-utils/include/pkg/pkglist.h
David Oberhollenzer 4a7b1d3b3c cleanup: move package dependency management to libpkg.a
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-07-17 12:45:23 +02:00

34 lines
754 B
C

/* SPDX-License-Identifier: ISC */
#ifndef PKGLIST_H
#define PKGLIST_H
struct pkg_dep_node {
char *name;
/* num dependencies == number of outgoing edges */
size_t num_deps;
/* direct dependencies == array of outgoing edges */
struct pkg_dep_node **deps;
/* linked list pointer */
struct pkg_dep_node *next;
};
struct pkg_dep_list {
struct pkg_dep_node *head;
struct pkg_dep_node *tail;
};
struct pkg_dep_node *append_pkg(struct pkg_dep_list *list, const char *name);
struct pkg_dep_node *find_pkg(struct pkg_dep_list *list, const char *name);
void pkg_list_cleanup(struct pkg_dep_list *list);
int collect_dependencies(int repofd, struct pkg_dep_list *list);
int sort_by_dependencies(struct pkg_dep_list *list);
#endif /* PKGLIST_H */