aboutsummaryrefslogtreecommitdiff
path: root/snag/src/pkg_db.h
diff options
context:
space:
mode:
Diffstat (limited to 'snag/src/pkg_db.h')
-rw-r--r--snag/src/pkg_db.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/snag/src/pkg_db.h b/snag/src/pkg_db.h
new file mode 100644
index 0000000..0d34a61
--- /dev/null
+++ b/snag/src/pkg_db.h
@@ -0,0 +1,27 @@
+#ifndef PKG_DB_H
+#define PKG_DB_H
+
+#include <stdbool.h>
+
+// loads and allocates package attributes for the info struct. does not do
+// excessive validation, so this should be fine when loading lots of package
+// data
+typedef struct {
+ char* id;
+ char* name;
+ char* desc;
+ char* webpage;
+ char* license;
+ char* version;
+ char buffer[4069];
+} package_attrs_t;
+
+typedef struct {
+ char* script_path;
+ package_attrs_t attrs;
+} package_info_t;
+
+bool load_package_info(char* pkgid, package_info_t* info);
+void run_package_install(const package_info_t* info);
+
+#endif