errno.h   errno.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_ERRNO_H #ifndef HY_ERRNO_H
#define HY_ERRNO_H #define HY_ERRNO_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
enum _hy_errors_e { enum _hy_errors_e {
HY_E_FAILED = 1, // general runtime error HY_E_FAILED = 1, // general runtime error
HY_E_OP, // client programming error HY_E_OP, // client programming error
HY_E_LIBSOLV, // erorr propagated from libsolv HY_E_LIBSOLV, // error propagated from libsolv
HY_E_IO, // I/O error HY_E_IO, // I/O error
HY_E_CACHE_WRITE, // cache write error HY_E_CACHE_WRITE, // cache write error
HY_E_QUERY, // ill-formed query HY_E_QUERY, // ill-formed query
HY_E_ARCH, // unknown arch HY_E_ARCH, // unknown arch
HY_E_VALIDATION, // validation check failed HY_E_VALIDATION, // validation check failed
HY_E_SELECTOR, // ill-specified selector HY_E_SELECTOR, // ill-specified selector
HY_E_NO_SOLUTION, // goal found no solutions HY_E_NO_SOLUTION, // goal found no solutions
HY_E_NO_CAPABILITY, // the capability was not available
}; };
extern __thread int hy_errno; extern __thread int hy_errno;
int hy_get_errno(void); int hy_get_errno(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
 End of changes. 3 change blocks. 
1 lines changed or deleted 23 lines changed or added


 goal.h   goal.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_GOAL_H #ifndef HY_GOAL_H
#define HY_GOAL_H #define HY_GOAL_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
enum _hy_goal_op_flags { enum _hy_goal_op_flags {
HY_CHECK_INSTALLED = 1 << 0, HY_CHECK_INSTALLED = 1 << 0,
HY_CLEAN_DEPS = 1 << 1 HY_CLEAN_DEPS = 1 << 1
}; };
enum _hy_goal_run_flags { enum _hy_goal_run_flags {
HY_ALLOW_UNINSTALL = 1 HY_ALLOW_UNINSTALL = 1 << 0,
HY_FORCE_BEST = 1 << 1
}; };
#define HY_REASON_DEP 1 #define HY_REASON_DEP 1
#define HY_REASON_USER 2 #define HY_REASON_USER 2
HyGoal hy_goal_create(HySack sack); HyGoal hy_goal_create(HySack sack);
void hy_goal_free(HyGoal goal); void hy_goal_free(HyGoal goal);
int hy_goal_distupgrade_all(HyGoal goal); int hy_goal_distupgrade_all(HyGoal goal);
int hy_goal_distupgrade(HyGoal goal, HyPackage new_pkg);
int hy_goal_distupgrade_selector(HyGoal goal, HySelector);
int hy_goal_downgrade_to(HyGoal goal, HyPackage new_pkg); int hy_goal_downgrade_to(HyGoal goal, HyPackage new_pkg);
int hy_goal_erase(HyGoal goal, HyPackage pkg); int hy_goal_erase(HyGoal goal, HyPackage pkg);
int hy_goal_erase_flags(HyGoal goal, HyPackage pkg, int flags); int hy_goal_erase_flags(HyGoal goal, HyPackage pkg, int flags);
/** /**
* Erase packages specified by the Selector. * Erase packages specified by the Selector.
* *
* @returns 0 on success, HY_E_SELECTOR for an invalid Selector. * @returns 0 on success, HY_E_SELECTOR for an invalid Selector.
*/ */
int hy_goal_erase_selector(HyGoal goal, HySelector sltr); int hy_goal_erase_selector(HyGoal goal, HySelector sltr);
int hy_goal_erase_selector_flags(HyGoal goal, HySelector sltr, int flags); int hy_goal_erase_selector_flags(HyGoal goal, HySelector sltr, int flags);
int hy_goal_install(HyGoal goal, HyPackage new_pkg); int hy_goal_install(HyGoal goal, HyPackage new_pkg);
int hy_goal_install_selector(HyGoal goal, HySelector sltr); int hy_goal_install_selector(HyGoal goal, HySelector sltr);
int hy_goal_upgrade_all(HyGoal goal); int hy_goal_upgrade_all(HyGoal goal);
int hy_goal_upgrade_to(HyGoal goal, HyPackage new_pkg); int hy_goal_upgrade_to(HyGoal goal, HyPackage new_pkg);
int hy_goal_upgrade_to_flags(HyGoal goal, HyPackage new_pkg, int flags); int hy_goal_upgrade_to_flags(HyGoal goal, HyPackage new_pkg, int flags);
int hy_goal_upgrade_selector(HyGoal goal, HySelector sltr); int hy_goal_upgrade_selector(HyGoal goal, HySelector sltr);
int hy_goal_upgrade_to_selector(HyGoal goal, HySelector sltr); int hy_goal_upgrade_to_selector(HyGoal goal, HySelector sltr);
int hy_goal_userinstalled(HyGoal goal, HyPackage pkg); int hy_goal_userinstalled(HyGoal goal, HyPackage pkg);
/* introspecting the requests */
int hy_goal_req_has_distupgrade_all(HyGoal goal);
int hy_goal_req_has_erase(HyGoal goal);
int hy_goal_req_has_upgrade_all(HyGoal goal);
int hy_goal_req_length(HyGoal goal);
/* resolving the goal */
int hy_goal_run(HyGoal goal); int hy_goal_run(HyGoal goal);
int hy_goal_run_flags(HyGoal goal, int flags); int hy_goal_run_flags(HyGoal goal, int flags);
int hy_goal_run_all(HyGoal goal, hy_solution_callback cb, void *cb_data); int hy_goal_run_all(HyGoal goal, hy_solution_callback cb, void *cb_data);
int hy_goal_run_all_flags(HyGoal goal, hy_solution_callback cb, void *cb_da ta, int hy_goal_run_all_flags(HyGoal goal, hy_solution_callback cb, void *cb_da ta,
int flags); int flags);
/* problems */ /* problems */
int hy_goal_count_problems(HyGoal goal); int hy_goal_count_problems(HyGoal goal);
char *hy_goal_describe_problem(HyGoal goal, unsigned i); char *hy_goal_describe_problem(HyGoal goal, unsigned i);
int hy_goal_log_decisions(HyGoal goal); int hy_goal_log_decisions(HyGoal goal);
int hy_goal_write_debugdata(HyGoal goal, const char *dir);
/* result processing */ /* result processing */
HyPackageList hy_goal_list_erasures(HyGoal goal); HyPackageList hy_goal_list_erasures(HyGoal goal);
HyPackageList hy_goal_list_installs(HyGoal goal); HyPackageList hy_goal_list_installs(HyGoal goal);
HyPackageList hy_goal_list_obsoleted(HyGoal goal);
HyPackageList hy_goal_list_reinstalls(HyGoal goal); HyPackageList hy_goal_list_reinstalls(HyGoal goal);
HyPackageList hy_goal_list_unneeded(HyGoal goal);
HyPackageList hy_goal_list_upgrades(HyGoal goal); HyPackageList hy_goal_list_upgrades(HyGoal goal);
HyPackageList hy_goal_list_downgrades(HyGoal goal); HyPackageList hy_goal_list_downgrades(HyGoal goal);
HyPackage hy_goal_package_obsoletes(HyGoal goal, HyPackage pkg); HyPackageList hy_goal_list_obsoleted_by_package(HyGoal goal, HyPackage pkg) ;
int hy_goal_get_reason(HyGoal goal, HyPackage pkg); int hy_goal_get_reason(HyGoal goal, HyPackage pkg);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 9 change blocks. 
3 lines changed or deleted 38 lines changed or added


 package.h   package.h 
/*
* Copyright (C) 2012-2014 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_PACKAGE_H #ifndef HY_PACKAGE_H
#define HY_PACKAGE_H #define HY_PACKAGE_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use HyAdvisoryType instead
typedef enum {
HY_UPDATE_SEVERITY_SECURITY, /* ordered by rough importance */
HY_UPDATE_SEVERITY_IMPORTANT,
HY_UPDATE_SEVERITY_BUGFIX,
HY_UPDATE_SEVERITY_NORMAL,
HY_UPDATE_SEVERITY_ENHANCEMENT,
HY_UPDATE_SEVERITY_LOW,
HY_UPDATE_SEVERITY_UNKNOWN,
} HyUpdateSeverity;
/* public */ /* public */
void hy_package_free(HyPackage pkg); void hy_package_free(HyPackage pkg);
HyPackage hy_package_link(HyPackage pkg); HyPackage hy_package_link(HyPackage pkg);
int hy_package_identical(HyPackage pkg1, HyPackage pkg2); int hy_package_identical(HyPackage pkg1, HyPackage pkg2);
int hy_package_installed(HyPackage pkg);
int hy_package_cmp(HyPackage pkg1, HyPackage pkg2); int hy_package_cmp(HyPackage pkg1, HyPackage pkg2);
int hy_package_evr_cmp(HyPackage pkg1, HyPackage pkg2); int hy_package_evr_cmp(HyPackage pkg1, HyPackage pkg2);
char *hy_package_get_location(HyPackage pkg); char *hy_package_get_location(HyPackage pkg);
const char *hy_package_get_baseurl(HyPackage pkg);
char *hy_package_get_nevra(HyPackage pkg); char *hy_package_get_nevra(HyPackage pkg);
char *hy_package_get_sourcerpm(HyPackage pkg); char *hy_package_get_sourcerpm(HyPackage pkg);
char *hy_package_get_version(HyPackage pkg); char *hy_package_get_version(HyPackage pkg);
char *hy_package_get_release(HyPackage pkg); char *hy_package_get_release(HyPackage pkg);
const char *hy_package_get_name(HyPackage pkg); const char *hy_package_get_name(HyPackage pkg);
const char *hy_package_get_arch(HyPackage pkg); const char *hy_package_get_arch(HyPackage pkg);
const unsigned char *hy_package_get_chksum(HyPackage pkg, int *type); const unsigned char *hy_package_get_chksum(HyPackage pkg, int *type);
const char *hy_package_get_description(HyPackage pkg); const char *hy_package_get_description(HyPackage pkg);
const char *hy_package_get_evr(HyPackage pkg); const char *hy_package_get_evr(HyPackage pkg);
const char *hy_package_get_license(HyPackage pkg); const char *hy_package_get_license(HyPackage pkg);
const unsigned char *hy_package_get_hdr_chksum(HyPackage pkg, int *type); const unsigned char *hy_package_get_hdr_chksum(HyPackage pkg, int *type);
const char *hy_package_get_packager(HyPackage pkg); const char *hy_package_get_packager(HyPackage pkg);
const char *hy_package_get_reponame(HyPackage pkg); const char *hy_package_get_reponame(HyPackage pkg);
const char *hy_package_get_summary(HyPackage pkg); const char *hy_package_get_summary(HyPackage pkg);
const char *hy_package_get_url(HyPackage pkg); const char *hy_package_get_url(HyPackage pkg);
unsigned long long hy_package_get_downloadsize(HyPackage pkg);
unsigned long long hy_package_get_epoch(HyPackage pkg); unsigned long long hy_package_get_epoch(HyPackage pkg);
unsigned long long hy_package_get_hdr_end(HyPackage pkg);
unsigned long long hy_package_get_installsize(HyPackage pkg);
unsigned long long hy_package_get_medianr(HyPackage pkg); unsigned long long hy_package_get_medianr(HyPackage pkg);
unsigned long long hy_package_get_rpmdbid(HyPackage pkg); unsigned long long hy_package_get_rpmdbid(HyPackage pkg);
unsigned long long hy_package_get_size(HyPackage pkg); unsigned long long hy_package_get_size(HyPackage pkg);
unsigned long long hy_package_get_buildtime(HyPackage pkg); unsigned long long hy_package_get_buildtime(HyPackage pkg);
unsigned long long hy_package_get_installtime(HyPackage pkg); unsigned long long hy_package_get_installtime(HyPackage pkg);
HyReldepList hy_package_get_conflicts(HyPackage pkg);
HyReldepList hy_package_get_obsoletes(HyPackage pkg); HyReldepList hy_package_get_obsoletes(HyPackage pkg);
HyReldepList hy_package_get_provides(HyPackage pkg);
HyReldepList hy_package_get_requires(HyPackage pkg); HyReldepList hy_package_get_requires(HyPackage pkg);
HyStringArray hy_package_get_files(HyPackage pkg);
HyAdvisoryList hy_package_get_advisories(HyPackage pkg, int cmp_type);
typedef void (*HyUserdataDestroy) (void *userdata);
void *hy_package_get_userdata(HyPackage pkg);
void hy_package_set_userdata(HyPackage pkg, void *userdata, HyUserdataDestr
oy destroy_func);
HyPackageDelta hy_package_get_delta_from_evr(HyPackage pkg, const char *fro m_evr); HyPackageDelta hy_package_get_delta_from_evr(HyPackage pkg, const char *fro m_evr);
const char *hy_packagedelta_get_location(HyPackageDelta delta); const char *hy_packagedelta_get_location(HyPackageDelta delta);
const char *hy_packagedelta_get_baseurl(HyPackageDelta delta);
unsigned long long hy_packagedelta_get_downloadsize(HyPackageDelta delta);
const unsigned char *hy_packagedelta_get_chksum(HyPackageDelta delta, int *
type);
void hy_packagedelta_free(HyPackageDelta delta); void hy_packagedelta_free(HyPackageDelta delta);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_type instead
HyUpdateSeverity hy_package_get_update_severity(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_id instead
const char *hy_package_get_update_name(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_description instead
const char *hy_package_get_update_description(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_updated instead
unsigned long long hy_package_get_update_issued(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_references instead
HyStringArray hy_package_get_update_urls_bugzilla(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_references instead
HyStringArray hy_package_get_update_urls_cve(HyPackage pkg);
// deprecated in 0.4.12, eligible for dropping after 2014-07-07 AND no soon
er
// than in 0.4.15, use hy_advisory_get_references instead
HyStringArray hy_package_get_update_urls_vendor(HyPackage pkg);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 11 change blocks. 
0 lines changed or deleted 81 lines changed or added


 packagelist.h   packagelist.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_PACKAGELIST_H #ifndef HY_PACKAGELIST_H
#define HY_PACKAGELIST_H #define HY_PACKAGELIST_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 21 lines changed or added


 packageset.h   packageset.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_PACKAGESET_H #ifndef HY_PACKAGESET_H
#define HY_PACKAGESET_H #define HY_PACKAGESET_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 21 lines changed or added


 query.h   query.h 
/*
* Copyright (C) 2012-2014 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_QUERY_H #ifndef HY_QUERY_H
#define HY_QUERY_H #define HY_QUERY_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* hawkey */ /* hawkey */
#include "types.h" #include "types.h"
enum _hy_query_flags {
HY_IGNORE_EXCLUDES = 1 << 0
};
HyQuery hy_query_create(HySack sack); HyQuery hy_query_create(HySack sack);
HyQuery hy_query_create_flags(HySack sack, int flags);
void hy_query_free(HyQuery q); void hy_query_free(HyQuery q);
void hy_query_clear(HyQuery q); void hy_query_clear(HyQuery q);
HyQuery hy_query_clone(HyQuery q); HyQuery hy_query_clone(HyQuery q);
int hy_query_filter(HyQuery q, int keyname, int cmp_type, const char *match ); int hy_query_filter(HyQuery q, int keyname, int cmp_type, const char *match );
int hy_query_filter_empty(HyQuery q); int hy_query_filter_empty(HyQuery q);
int hy_query_filter_in(HyQuery q, int keyname, int cmp_type, int hy_query_filter_in(HyQuery q, int keyname, int cmp_type,
const char **matches); const char **matches);
int hy_query_filter_num(HyQuery q, int keyname, int cmp_type, int hy_query_filter_num(HyQuery q, int keyname, int cmp_type,
int match); int match);
int hy_query_filter_num_in(HyQuery q, int keyname, int cmp_type, int nmatch es, int hy_query_filter_num_in(HyQuery q, int keyname, int cmp_type, int nmatch es,
const int *matches); const int *matches);
int hy_query_filter_package_in(HyQuery q, int keyname, int cmp_type, int hy_query_filter_package_in(HyQuery q, int keyname, int cmp_type,
const HyPackageSet pset); const HyPackageSet pset);
int hy_query_filter_reldep(HyQuery q, int keyname, const HyReldep reldep); int hy_query_filter_reldep(HyQuery q, int keyname, const HyReldep reldep);
int hy_query_filter_reldep_in(HyQuery q, int keyname, int hy_query_filter_reldep_in(HyQuery q, int keyname,
const HyReldepList reldeplist); const HyReldepList reldeplist);
int hy_query_filter_provides(HyQuery q, int cmp_type, const char *name, int hy_query_filter_provides(HyQuery q, int cmp_type, const char *name,
const char *evr); const char *evr);
int hy_query_filter_provides_in(HyQuery q, char **reldep_strs);
int hy_query_filter_requires(HyQuery q, int cmp_type, const char *name, int hy_query_filter_requires(HyQuery q, int cmp_type, const char *name,
const char *evr); const char *evr);
/** /**
* Filter packages that are installed and have higher version than other no
t
* installed packages that are named same.
*
* NOTE: this does not guarantee packages filtered in this way are downgrad
able.
*/
void hy_query_filter_downgradable(HyQuery q, int val);
/**
* Filter packages that are named same as an installed package but lower ve rsion. * Filter packages that are named same as an installed package but lower ve rsion.
* *
* NOTE: this does not guerantee packages filtered in this way are installa ble. * NOTE: this does not guarantee packages filtered in this way are installa ble.
*/ */
void hy_query_filter_downgrades(HyQuery q, int val); void hy_query_filter_downgrades(HyQuery q, int val);
/** /**
* Filter packages that are installed and have lower version than other not
* installed packages that are named same.
*
* NOTE: this does not guarantee packages filtered in this way are upgradab
le.
*/
void hy_query_filter_upgradable(HyQuery q, int val);
/**
* Filter packages that are named same as an installed package but higher v ersion. * Filter packages that are named same as an installed package but higher v ersion.
* *
* NOTE: this does not guerantee packages filtered in this way are installa ble. * NOTE: this does not guarantee packages filtered in this way are installa ble.
*/ */
void hy_query_filter_upgrades(HyQuery q, int val); void hy_query_filter_upgrades(HyQuery q, int val);
void hy_query_filter_latest_per_arch(HyQuery q, int val);
void hy_query_filter_latest(HyQuery q, int val); void hy_query_filter_latest(HyQuery q, int val);
HyPackageList hy_query_run(HyQuery q); HyPackageList hy_query_run(HyQuery q);
HyPackageSet hy_query_run_set(HyQuery q); HyPackageSet hy_query_run_set(HyQuery q);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HY_QUERY_H */ #endif /* HY_QUERY_H */
 End of changes. 9 change blocks. 
2 lines changed or deleted 47 lines changed or added


 reldep.h   reldep.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_RELDEP_H #ifndef HY_RELDEP_H
#define HY_RELDEP_H #define HY_RELDEP_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* hawkey */ /* hawkey */
#include "types.h" #include "types.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 21 lines changed or added


 repo.h   repo.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_REPO_H #ifndef HY_REPO_H
#define HY_REPO_H #define HY_REPO_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
enum _hy_repo_param_e { enum _hy_repo_param_e {
HY_REPO_NAME, HY_REPO_NAME,
HY_REPO_MD_FN, HY_REPO_MD_FN,
HY_REPO_PRESTO_FN, HY_REPO_PRESTO_FN,
HY_REPO_PRIMARY_FN, HY_REPO_PRIMARY_FN,
HY_REPO_FILELISTS_FN HY_REPO_FILELISTS_FN,
HY_REPO_UPDATEINFO_FN
}; };
HyRepo hy_repo_create(const char *name); HyRepo hy_repo_create(const char *name);
int hy_repo_get_cost(HyRepo repo);
void hy_repo_set_cost(HyRepo repo, int value);
void hy_repo_set_string(HyRepo repo, int which, const char *str_val); void hy_repo_set_string(HyRepo repo, int which, const char *str_val);
const char *hy_repo_get_string(HyRepo repo, int which); const char *hy_repo_get_string(HyRepo repo, int which);
void hy_repo_free(HyRepo repo); void hy_repo_free(HyRepo repo);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HY_REPO_H */ #endif /* HY_REPO_H */
 End of changes. 3 change blocks. 
1 lines changed or deleted 25 lines changed or added


 sack.h   sack.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_SACK_H #ifndef HY_SACK_H
#define HY_SACK_H #define HY_SACK_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// hawkey // hawkey
#include "types.h" #include "types.h"
enum _hy_sack_sack_create_flags {
HY_MAKE_CACHE_DIR = 1 << 0
};
enum _hy_sack_repo_load_flags { enum _hy_sack_repo_load_flags {
HY_BUILD_CACHE = 1 << 0, HY_BUILD_CACHE = 1 << 0,
HY_LOAD_FILELISTS = 1 << 1, HY_LOAD_FILELISTS = 1 << 1,
HY_LOAD_PRESTO = 1 << 2 HY_LOAD_PRESTO = 1 << 2,
HY_LOAD_UPDATEINFO = 1 << 3
}; };
HySack hy_sack_create(const char *cache_path, const char *arch); HySack hy_sack_create(const char *cache_path, const char *arch,
const char *rootdir, int flags);
void hy_sack_free(HySack sack); void hy_sack_free(HySack sack);
const char *hy_sack_get_cache_path(HySack sack); int hy_sack_evr_cmp(HySack sack, const char *evr1, const char *evr2);
const char *hy_sack_get_cache_dir(HySack sack);
char *hy_sack_give_cache_fn(HySack sack, const char *reponame, const char * ext); char *hy_sack_give_cache_fn(HySack sack, const char *reponame, const char * ext);
const char **hy_sack_list_arches(HySack sack); const char **hy_sack_list_arches(HySack sack);
void hy_sack_set_installonly(HySack sack, const char **installonly); void hy_sack_set_installonly(HySack sack, const char **installonly);
void hy_sack_set_installonly_limit(HySack sack, int limit);
void hy_sack_create_cmdline_repo(HySack sack); void hy_sack_create_cmdline_repo(HySack sack);
HyPackage hy_sack_add_cmdline_package(HySack sack, const char *fn); HyPackage hy_sack_add_cmdline_package(HySack sack, const char *fn);
int hy_sack_count(HySack sack); int hy_sack_count(HySack sack);
void hy_sack_add_excludes(HySack sack, HyPackageSet pset);
void hy_sack_set_excludes(HySack sack, HyPackageSet pset);
int hy_sack_repo_enabled(HySack sack, const char *reponame, int enabled);
/** /**
* Load RPMDB, the system package database. * Load RPMDB, the system package database.
* *
* @returns 0 on success, HY_E_IO on fatal error, * @returns 0 on success, HY_E_IO on fatal error,
* HY_E_CACHE_WRITE on cache write error. * HY_E_CACHE_WRITE on cache write error.
*/ */
int hy_sack_load_system_repo(HySack sack, HyRepo a_hrepo, int flags); int hy_sack_load_system_repo(HySack sack, HyRepo a_hrepo, int flags);
int hy_sack_load_yum_repo(HySack sack, HyRepo hrepo, int flags); int hy_sack_load_yum_repo(HySack sack, HyRepo hrepo, int flags);
 End of changes. 7 change blocks. 
3 lines changed or deleted 35 lines changed or added


 selector.h   selector.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_SELECTOR_H #ifndef HY_SELECTOR_H
#define HY_SELECTOR_H #define HY_SELECTOR_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include "types.h" #include "types.h"
HySelector hy_selector_create(HySack sack); HySelector hy_selector_create(HySack sack);
void hy_selector_free(HySelector sltr); void hy_selector_free(HySelector sltr);
int hy_selector_set(HySelector sltr, int keyname, int cmp_type, int hy_selector_set(HySelector sltr, int keyname, int cmp_type,
const char *match); const char *match);
HyPackageList hy_selector_matches(HySelector sltr);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 2 change blocks. 
0 lines changed or deleted 22 lines changed or added


 types.h   types.h 
/*
* Copyright (C) 2012-2014 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_TYPES_H #ifndef HY_TYPES_H
#define HY_TYPES_H #define HY_TYPES_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
typedef enum _HyForm HyForm;
typedef struct _HyAdvisory * HyAdvisory;
typedef struct _HyAdvisoryList * HyAdvisoryList;
typedef struct _HyAdvisoryRef * HyAdvisoryRef;
typedef struct _HyAdvisoryRefList * HyAdvisoryRefList;
typedef struct _HyRepo * HyRepo; typedef struct _HyRepo * HyRepo;
typedef struct _HyGoal * HyGoal; typedef struct _HyGoal * HyGoal;
typedef struct _HyNevra * HyNevra;
typedef struct _HyPackage * HyPackage; typedef struct _HyPackage * HyPackage;
typedef struct _HyPackageDelta * HyPackageDelta; typedef struct _HyPackageDelta * HyPackageDelta;
typedef struct _HyPackageList * HyPackageList; typedef struct _HyPackageList * HyPackageList;
typedef struct _HyPackageListIter * HyPackageListIter; typedef struct _HyPackageListIter * HyPackageListIter;
typedef struct _HyPackageSet * HyPackageSet; typedef struct _HyPackageSet * HyPackageSet;
typedef struct _HyPossibilities * HyPossibilities;
typedef struct _HyQuery * HyQuery; typedef struct _HyQuery * HyQuery;
typedef struct _HyReldep * HyReldep; typedef struct _HyReldep * HyReldep;
typedef struct _HyReldepList * HyReldepList; typedef struct _HyReldepList * HyReldepList;
typedef struct _HySack * HySack; typedef struct _HySack * HySack;
typedef struct _HySelector * HySelector; typedef struct _HySelector * HySelector;
typedef char ** HyStringArray;
typedef char * HySubject;
typedef const unsigned char HyChecksum; typedef const unsigned char HyChecksum;
typedef int (*hy_solution_callback)(HyGoal goal, void *callback_data); typedef int (*hy_solution_callback)(HyGoal goal, void *callback_data);
#define HY_SYSTEM_REPO_NAME "@System" #define HY_SYSTEM_REPO_NAME "@System"
#define HY_SYSTEM_RPMDB "/var/lib/rpm/Packages"
#define HY_CMDLINE_REPO_NAME "@commandline" #define HY_CMDLINE_REPO_NAME "@commandline"
#define HY_EXT_FILENAMES "-filenames" #define HY_EXT_FILENAMES "-filenames"
#define HY_EXT_UPDATEINFO "-updateinfo"
#define HY_EXT_PRESTO "-presto" #define HY_EXT_PRESTO "-presto"
#define HY_CHKSUM_MD5 1 #define HY_CHKSUM_MD5 1
#define HY_CHKSUM_SHA1 2 #define HY_CHKSUM_SHA1 2
#define HY_CHKSUM_SHA256 3 #define HY_CHKSUM_SHA256 3
enum _hy_key_name_e { enum _hy_key_name_e {
HY_PKG, HY_PKG,
HY_PKG_ALL, HY_PKG_ALL,
HY_PKG_ARCH, HY_PKG_ARCH,
HY_PKG_CONFLICTS,
HY_PKG_DESCRIPTION, HY_PKG_DESCRIPTION,
HY_PKG_EPOCH, HY_PKG_EPOCH,
HY_PKG_EVR, HY_PKG_EVR,
HY_PKG_FILE, HY_PKG_FILE,
HY_PKG_NAME, HY_PKG_NAME,
HY_PKG_NEVRA,
HY_PKG_OBSOLETES, HY_PKG_OBSOLETES,
HY_PKG_PROVIDES, HY_PKG_PROVIDES,
HY_PKG_RELEASE, HY_PKG_RELEASE,
HY_PKG_REPONAME, HY_PKG_REPONAME,
HY_PKG_REQUIRES, HY_PKG_REQUIRES,
HY_PKG_SOURCERPM, HY_PKG_SOURCERPM,
HY_PKG_SUMMARY, HY_PKG_SUMMARY,
HY_PKG_URL, HY_PKG_URL,
HY_PKG_VERSION HY_PKG_VERSION,
HY_PKG_LOCATION
}; };
enum _hy_comparison_type_e { enum _hy_comparison_type_e {
/* part 1: flags that mix with all types */ /* part 1: flags that mix with all types */
HY_ICASE = 1 << 0, HY_ICASE = 1 << 0,
HY_NOT = 1 << 1, HY_NOT = 1 << 1,
HY_COMPARISON_FLAG_MASK = HY_ICASE | HY_NOT, HY_COMPARISON_FLAG_MASK = HY_ICASE | HY_NOT,
/* part 2: comparison types that mix with each other */ /* part 2: comparison types that mix with each other */
HY_EQ = (1 << 8), HY_EQ = (1 << 8),
HY_LT = (1 << 9), HY_LT = (1 << 9),
HY_GT = (1 << 10), HY_GT = (1 << 10),
/* part 3: comparison types that only make sense for strings */ /* part 3: comparison types that only make sense for strings */
HY_SUBSTR = (1 << 11), HY_SUBSTR = (1 << 11),
HY_GLOB = (1 << 12), HY_GLOB = (1 << 12),
/* part 4: frequently used combinations */ /* part 4: frequently used combinations */
HY_NEQ = HY_EQ | HY_NOT, HY_NEQ = HY_EQ | HY_NOT,
/* part 5: additional flags, not necessarily used for queries */
HY_NAME_ONLY = (1 << 16),
}; };
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HY_TYPES_H */ #endif /* HY_TYPES_H */
 End of changes. 11 change blocks. 
2 lines changed or deleted 38 lines changed or added


 util.h   util.h 
/*
* Copyright (C) 2012-2013 Red Hat, Inc.
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA
*/
#ifndef HY_UTIL_H #ifndef HY_UTIL_H
#define HY_UTIL_H #define HY_UTIL_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
void *hy_free(void *mem); void *hy_free(void *mem);
void *hy_free_strs(char **strs);
const char *hy_chksum_name(int chksum_type); const char *hy_chksum_name(int chksum_type);
int hy_chksum_type(const char *chksum_name); int hy_chksum_type(const char *chksum_name);
char *hy_chksum_str(const unsigned char *chksum, int type); char *hy_chksum_str(const unsigned char *chksum, int type);
int hy_detect_arch(char **arch);
int hy_split_nevra(const char *nevra, char **name, long int *epoch, int hy_split_nevra(const char *nevra, char **name, long int *epoch,
char **version, char **release, char **arch); char **version, char **release, char **arch);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HY_UTIL_H */ #endif /* HY_UTIL_H */
 End of changes. 3 change blocks. 
0 lines changed or deleted 24 lines changed or added


 version.h   version.h 
#ifndef HY_VERSION_H #ifndef HY_VERSION_H
#define HY_VERSION_H #define HY_VERSION_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#define HY_VERSION_MAJOR 0 #define HY_VERSION_MAJOR 0
#define HY_VERSION_MINOR 3 #define HY_VERSION_MINOR 4
#define HY_VERSION_PATCH 5 #define HY_VERSION_PATCH 16
#define HY_VERSION_CHECK(major,minor,patch) \
(HY_VERSION_MAJOR > (major) || \
(HY_VERSION_MAJOR == (major) && HY_VERSION_MINOR > (minor)) || \
(HY_VERSION_MAJOR == (major) && HY_VERSION_MINOR == (minor) && \
HY_VERSION_PATCH >= (patch)))
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* HY_VERSION_H */ #endif /* HY_VERSION_H */
 End of changes. 1 change blocks. 
2 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/