X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libopkg%2Fopkg.h;h=4c34c32d5816b8f3158b84592b990823aeaab18e;hb=d2fc8c73ad1cff0e8b57330caa3c997a17059f2b;hp=12a264a2c0bbb97add6dd17f15b572cce88cb958;hpb=4875f878ecec75c8982c833a5e13055a762c4c3f;p=oweals%2Fopkg-lede.git diff --git a/libopkg/opkg.h b/libopkg/opkg.h index 12a264a..4c34c32 100644 --- a/libopkg/opkg.h +++ b/libopkg/opkg.h @@ -1,8 +1,8 @@ -/* opkg.h - the itsy package management system +/* opkg.h - the opkg package management system - Carl D. Worth + Thomas Wood - Copyright (C) 2001 University of Southern California + Copyright (C) 2008 OpenMoko Inc This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -18,16 +18,74 @@ #ifndef OPKG_H #define OPKG_H -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +typedef struct _opkg_t opkg_t; +typedef struct _opkg_package_t opkg_package_t; +typedef struct _opkg_progress_data_t opkg_progress_data_t; -#include "includes.h" -#include "opkg_conf.h" -#include "opkg_message.h" +typedef void (*opkg_progress_callback_t) (opkg_t *opkg, const opkg_progress_data_t *progress, void *user_data); +typedef void (*opkg_package_callback_t) (opkg_t *opkg, opkg_package_t *package, void *user_data); -#include "opkg_error.h" -#include "opkg_defines.h" -#include "opkg_state.h" +enum _opkg_action_t +{ + OPKG_INSTALL, + OPKG_REMOVE, + OPKG_DOWNLOAD +}; -#endif +enum _opkg_error_code_t +{ + OPKG_NO_ERROR, + OPKG_UNKNOWN_ERROR, + OPKG_DOWNLOAD_FAILED, + OPKG_DEPENDENCIES_FAILED, + OPKG_PACKAGE_ALREADY_INSTALLED, + OPKG_PACKAGE_NOT_AVAILABLE, + OPKG_PACKAGE_NOT_FOUND, + OPKG_PACKAGE_NOT_INSTALLED, + OPKG_GPG_ERROR, + OPKG_MD5_ERROR, + OPKG_SHA256_ERROR +}; + +struct _opkg_package_t +{ + char *name; + char *version; + char *architecture; + char *repository; + char *description; + char *tags; + char *url; + int size; + int installed; +}; + +struct _opkg_progress_data_t +{ + int percentage; + int action; + opkg_package_t *package; +}; + +opkg_package_t* opkg_package_new (); +void opkg_package_free (opkg_package_t *package); + +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_re_read_config_files (opkg_t *opkg); + +int opkg_install_package (opkg_t *opkg, const char *package_name, opkg_progress_callback_t callback, void *user_data); +int opkg_remove_package (opkg_t *opkg, const char *package_name, opkg_progress_callback_t callback, void *user_data); +int opkg_upgrade_package (opkg_t *opkg, const char *package_name, opkg_progress_callback_t callback, void *user_data); +int opkg_upgrade_all (opkg_t *opkg, opkg_progress_callback_t callback, void *user_data); +int opkg_update_package_lists (opkg_t *opkg, opkg_progress_callback_t callback, void *user_data); + +int opkg_list_packages (opkg_t *opkg, opkg_package_callback_t callback, void *user_data); +int opkg_list_upgradable_packages (opkg_t *opkg, opkg_package_callback_t callback, void *user_data); +opkg_package_t* opkg_find_package (opkg_t *opkg, const char *name, const char *version, const char *architecture, const char *repository); + +int opkg_repository_accessibility_check(opkg_t *opkg); + +#endif /* OPKG_H */