X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libopkg%2Fopkg.h;h=9a145e7b94a365ed76c21c58c5025f9f6b7c9b41;hb=374d9aadeef27c7213999a1d63ba094aa8aecf51;hp=029b20ce205a6e356e52194abe1a4e32ce1b79c1;hpb=64aa995bce735d74bf936aae7ae59a104f992ff2;p=oweals%2Fopkg-lede.git diff --git a/libopkg/opkg.h b/libopkg/opkg.h index 029b20c..9a145e7 100644 --- a/libopkg/opkg.h +++ b/libopkg/opkg.h @@ -15,15 +15,52 @@ General Public License for more details. */ -typedef struct _opkg_t opkg_t; - -opkg_t* opkg_new (); -void opkg_free (opkg_t *opkg); -void opkg_get_option (opkg_t *opkg, char *option, void **value); -void opkg_set_option (opkg_t *opkg, char *option, void *value); - -int opkg_install_package (opkg_t *opkg, char *package_name); -int opkg_remove_package (opkg_t *opkg, char *package_name); -int opkg_upgrade_package (opkg_t *opkg, char *package_name); -int opkg_upgrade_all (opkg_t *opkg); -int opkg_update_package_lists (opkg_t *opkg); +#ifndef OPKG_H +#define OPKG_H + +#include "pkg.h" +#include "opkg_message.h" + +typedef struct _opkg_progress_data_t opkg_progress_data_t; + +typedef void (*opkg_progress_callback_t) (const opkg_progress_data_t * progress, + void *user_data); +typedef void (*opkg_package_callback_t) (pkg_t * pkg, void *user_data); + +enum _opkg_action_t { + OPKG_INSTALL, + OPKG_REMOVE, + OPKG_DOWNLOAD +}; + +struct _opkg_progress_data_t { + int percentage; + int action; + pkg_t *pkg; +}; + +int opkg_new(void); +void opkg_free(void); +int opkg_re_read_config_files(void); +void opkg_get_option(char *option, void **value); +void opkg_set_option(char *option, void *value); + +int opkg_install_package(const char *package_name, + opkg_progress_callback_t callback, void *user_data); +int opkg_remove_package(const char *package_name, + opkg_progress_callback_t callback, void *user_data); +int opkg_upgrade_package(const char *package_name, + opkg_progress_callback_t callback, void *user_data); +int opkg_upgrade_all(opkg_progress_callback_t callback, void *user_data); +int opkg_update_package_lists(opkg_progress_callback_t callback, + void *user_data); + +int opkg_list_packages(opkg_package_callback_t callback, void *user_data); +int opkg_list_upgradable_packages(opkg_package_callback_t callback, + void *user_data); +pkg_t *opkg_find_package(const char *name, const char *version, + const char *architecture, const char *repository); + +int opkg_repository_accessibility_check(void); + +#endif /* OPKG_H */