00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef DEBIAN_INSTALLER__PACKAGES_INTERNAL_H
00024
#define DEBIAN_INSTALLER__PACKAGES_INTERNAL_H
00025
00026
#include <debian-installer/packages.h>
00027
00028
#include <debian-installer/list.h>
00029
00030
typedef struct di_packages_resolve_dependencies_check di_packages_resolve_dependencies_check;
00031
00037
di_packages_allocator *
internal_di_packages_allocator_alloc (
void);
00038
00039
typedef bool di_packages_resolve_dependencies_check_package (di_packages_resolve_dependencies_check *r,
di_package *package,
di_package_dependency *d);
00040
typedef di_package_dependency *
di_packages_resolve_dependencies_check_provide (
di_package *package,
di_package_dependency *best,
di_package_dependency *d,
void *data);
00041
typedef void di_packages_resolve_dependencies_do_package (
di_package *package,
void *data);
00042
00043
struct di_packages_resolve_dependencies_check
00044 {
00045 di_packages_resolve_dependencies_check_package *check_real;
00046 di_packages_resolve_dependencies_check_provide *check_virtual;
00047 di_packages_resolve_dependencies_check_package *check_non_existant;
00048 di_packages_resolve_dependencies_do_package *do_real;
00049
unsigned int resolver;
00050
void *check_virtual_data;
00051
void *do_real_data;
00052 };
00053
00054
di_slist *di_packages_resolve_dependencies_special (
di_packages *packages,
di_slist *list, di_packages_resolve_dependencies_check *s,
di_packages_allocator *allocator);
00055
di_slist *di_packages_resolve_dependencies_array_special (
di_packages *packages,
di_package **array, di_packages_resolve_dependencies_check *s,
di_packages_allocator *allocator);
00056
void di_packages_resolve_dependencies_mark_special (
di_packages *packages, di_packages_resolve_dependencies_check *s);
00057
00058
void di_packages_resolve_dependencies_marker (
di_packages *packages);
00059
bool di_packages_resolve_dependencies_recurse (di_packages_resolve_dependencies_check *r,
di_package *package,
di_package *dependend_package);
00060
00061 di_packages_resolve_dependencies_check_package
00062 di_packages_resolve_dependencies_check_real,
00063 di_packages_resolve_dependencies_check_non_existant,
00064 di_packages_resolve_dependencies_check_non_existant_quiet,
00065 di_packages_resolve_dependencies_check_non_existant_permissive;
00066
00067 di_packages_resolve_dependencies_check_provide
00068 di_packages_resolve_dependencies_check_virtual;
00069
00070 di_packages_resolve_dependencies_do_package
00071 di_packages_resolve_dependencies_do_real_list_append,
00072 di_packages_resolve_dependencies_do_real_mark;
00073
00074
struct di_packages_resolve_dependencies_do_real_list_append_data
00075 {
00076
di_slist list;
00077
di_packages_allocator *allocator;
00078 };
00079
00087
di_parser_write_entry_next
00088 internal_di_packages_parser_write_entry_next;
00089
00090
const di_parser_fieldinfo
00091 internal_di_packages_parser_field_package;
00092
00094
#endif