aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-06-21 17:08:58 +1200
committerArslaan Pathan <[email protected]>2026-06-21 17:08:58 +1200
commitf5681aeb44feedda172352877c273fcf59e9b4cb (patch)
treec38d83b2163bcd9480f0643a3443ad2be6e2f07c
parent3d15d66160015e6d1f7cbc033391d84e1e89d549 (diff)
downloadmbpk-f5681aeb44feedda172352877c273fcf59e9b4cb.tar.xz
mbpk-f5681aeb44feedda172352877c273fcf59e9b4cb.zip
Make an API structure
-rw-r--r--include/libmbpk.h32
-rw-r--r--meson.build1
2 files changed, 33 insertions, 0 deletions
diff --git a/include/libmbpk.h b/include/libmbpk.h
index e69de29..0347e0c 100644
--- a/include/libmbpk.h
+++ b/include/libmbpk.h
@@ -0,0 +1,32 @@
+#ifndef LIBMBPK_H
+#define LIBMBPK_H
+
+typedef struct mbpk_pkg {
+ const char *pkgname;
+ const char *version;
+ const char *desc;
+ const char *url;
+ const char **deps;
+ const char *maintainer;
+ const char *license;
+} mbpk_pkg;
+
+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
diff --git a/meson.build b/meson.build
index d6de9c6..5dc3113 100644
--- a/meson.build
+++ b/meson.build
@@ -5,6 +5,7 @@ inc = include_directories('include')
deps = []
deps += dependency('libcurl')
deps += dependency('libarchive')
+deps += dependency('libzstd')
libdir = get_option('libdir')