#pragma once #include "url.h" #include #include typedef struct lm_pkg { size_t size; struct lm_pkg *next; char *name; char *desc; char **depends; char *version; } lm_pkg_t; typedef struct lm_pool_info { char *maintainer; char *pubkey; size_t size; } lm_pool_info_t; typedef struct lm_pool_paths { char *list; char *info; } lm_pool_paths_t; typedef struct lm_pool { struct lm_pool *next; lm_pool_info_t info; lm_pool_paths_t paths; lm_url_t url; lm_pkg_t *pkg; bool available; char *name; } lm_pool_t; typedef struct lm_ctx { lm_pool_t *pools; // pool list char *root; // root path for package installtion char *temp; // temp path char *data; // package database path const char *version; // libmp version (read-only) } lm_ctx_t;