| 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 | |
|
| 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 | |
|
| 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 | |
|
| 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 | |
|