X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=blobdiff_plain;f=libopkg%2Fopkg.h;h=4dda6c7271e7f4288800091e1aab6cb0c49e9d60;hp=b6a793dd46f073d6cda18fd015b906a8acd7ae86;hb=871744d4c3437d0de1294343b0fe4202f2111def;hpb=4b0b7ca249bfa4ecc099c2ca56527eb91776f198 diff --git a/libopkg/opkg.h b/libopkg/opkg.h index b6a793d..4dda6c7 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 @@ -15,54 +15,39 @@ General Public License for more details. */ -#ifndef OPKG_H -#define OPKG_H +typedef struct _opkg_t opkg_t; +typedef struct _opkg_package_t opkg_package_t; -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +typedef void (*opkg_progress_callback_t) (opkg_t *opkg, int percentage, void *user_data); +typedef void (*opkg_package_callback_t) (opkg_t *opkg, opkg_package_t *package, void *user_data); -#if 0 -#define OPKG_DEBUG_NO_TMP_CLEANUP -#endif -#include "includes.h" -#include "opkg_conf.h" -#include "opkg_message.h" - -#define OPKG_PKG_EXTENSION ".ipk" -#define DPKG_PKG_EXTENSION ".deb" - -#define OPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-" -#define OPKG_PKG_VERSION_SEP_CHAR '_' - -#define OPKG_STATE_DIR_PREFIX OPKGLIBDIR"/opkg" -#define OPKG_LISTS_DIR_SUFFIX "lists" -#define OPKG_INFO_DIR_SUFFIX "info" -#define OPKG_STATUS_FILE_SUFFIX "status" - -#define OPKG_BACKUP_SUFFIX "-opkg.backup" - -#define OPKG_LIST_DESCRIPTION_LENGTH 128 - -enum opkg_error { - OPKG_SUCCESS = 0, - OPKG_PKG_DEPS_UNSATISFIED, - OPKG_PKG_IS_ESSENTIAL, - OPKG_PKG_HAS_DEPENDENTS, - OPKG_PKG_HAS_NO_CANDIDATE +struct _opkg_package_t +{ + char *name; + char *version; + char *architecture; + char *repository; + char *description; + char *tags; + int installed; }; -typedef enum opkg_error opkg_error_t; - -extern int opkg_state_changed; - -struct errlist { - char * errmsg; - struct errlist * next; -} ; +opkg_package_t* opkg_package_new (); +opkg_package_t* opkg_package_new_with_values (const char *name, const char *version, const char *arch, const char *desc, const char *tags, int installed); +void opkg_package_free (opkg_package_t *package); -struct errlist* error_list; +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); -#endif +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);