aboutsummaryrefslogtreecommitdiff
path: root/include/libmbpk.h
blob: 319e464293309dc2269c878cde733abf481eca2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef LIBMBPK_H
#define LIBMBPK_H

#define MBPK_OK 0
#define MBPK_DB_FAIL 1
#define MBPK_REPO_FAIL 2

typedef struct mbpk_pkg mbpk_pkg;

struct mbpk_pkg {
    const char *pkgname;
    const char *version;
    const char *desc;
    const char *url;
    mbpk_pkg **deps;
    const char *maintainer;
    const char *license;
};

int mbpk_init(void);
int mbpk_search(const char *package_name, mbpk_pkg ***pkgs);
int mbpk_search_exact(const char *package_name, mbpk_pkg **pkg);
int mbpk_get_installed_pkg(const char *package_name, mbpk_pkg **pkg);
int mbpk_pkg_from_file(const char *file_path, mbpk_pkg **pkg);
int mbpk_install(mbpk_pkg **pkg);
int mbpk_remove(mbpk_pkg **pkg);
int mbpk_list(mbpk_pkg ***pkgs, int *count); 
int mbpk_info(const char *name, mbpk_pkg **pkg); 
int mbpk_resolve_dependencies(mbpk_pkg **pkg, mbpk_pkg ***pkgs);
int mbpk_upgrade(mbpk_pkg **pkg);
int mbpk_upgrade_all(void);
int mbpk_update_repositories(void);
void mbpk_cleanup(void);

void mbpk_pkg_free(mbpk_pkg *pkg);
void mbpk_pkg_free_list(mbpk_pkg **pkgs, int count);

#endif