libdebian-installer
|
Data Structures | |
struct | di_packages |
Packages file. More... | |
struct | di_packages_allocator |
Packages file - Allocator. More... | |
struct | di_packages_resolve_dependencies_check |
struct | di_packages_resolve_dependencies_do_real_list_append_data |
Typedefs | |
typedef bool | di_packages_resolve_dependencies_check_package(di_packages_resolve_dependencies_check *r, di_package *package, di_package_dependency *d) |
typedef di_package_dependency * | di_packages_resolve_dependencies_check_provide(di_package *package, di_package_dependency *best, di_package_dependency *d, void *data) |
typedef void | di_packages_resolve_dependencies_do_package(di_package *package, void *data) |
Functions | |
di_packages * | di_packages_alloc (void) |
void | di_packages_free (di_packages *packages) |
di_packages_allocator * | di_packages_allocator_alloc (void) |
void | di_packages_allocator_free (di_packages_allocator *packages) |
void | di_packages_append_package (di_packages *packages, di_package *package, di_packages_allocator *allocator) |
di_package * | di_packages_get_package (di_packages *packages, const char *name, size_t n) |
di_package * | di_packages_get_package_new (di_packages *packages, di_packages_allocator *allocator, char *name, size_t n) |
di_slist * | di_packages_resolve_dependencies (di_packages *packages, di_slist *list, di_packages_allocator *allocator) |
di_slist * | di_packages_resolve_dependencies_array (di_packages *packages, di_package **array, di_packages_allocator *allocator) |
void | di_packages_resolve_dependencies_mark (di_packages *packages) |
di_packages_allocator * | internal_di_packages_allocator_alloc (void) |
di_slist * | di_packages_resolve_dependencies_special (di_packages *packages, di_slist *list, di_packages_resolve_dependencies_check *s, di_packages_allocator *allocator) |
di_slist * | di_packages_resolve_dependencies_array_special (di_packages *packages, di_package **array, di_packages_resolve_dependencies_check *s, di_packages_allocator *allocator) |
void | di_packages_resolve_dependencies_mark_special (di_packages *packages, di_packages_resolve_dependencies_check *s) |
void | di_packages_resolve_dependencies_marker (di_packages *packages) |
bool | di_packages_resolve_dependencies_recurse (di_packages_resolve_dependencies_check *r, di_package *package, di_package *dependend_package) |
di_packages* di_packages_alloc | ( | void | ) |
Allocate di_packages
References di_hash_table_new_full(), di_new0, internal_di_package_destroy_func, and table.
Referenced by di_packages_status_parser_info().
di_packages_allocator* di_packages_allocator_alloc | ( | void | ) |
Allocate di_packages_allocator
References di_mem_chunk_new(), internal_di_packages_allocator_alloc(), and di_packages_allocator::package_mem_chunk.
void di_packages_allocator_free | ( | di_packages_allocator * | allocator | ) |
References di_free(), di_packages_allocator::package_dependency_mem_chunk, di_packages_allocator::package_mem_chunk, and di_packages_allocator::slist_node_mem_chunk.
void di_packages_append_package | ( | di_packages * | packages, |
di_package * | package, | ||
di_packages_allocator * | allocator | ||
) |
append a package.
packages | a di_packages |
References di_hash_table_insert(), di_packages_get_package(), di_slist_append_chunk(), di_package::key, list, di_package::package, di_packages_allocator::slist_node_mem_chunk, and table.
void di_packages_free | ( | di_packages * | packages | ) |
Free di_packages
References di_free(), di_hash_table_destroy(), and table.
Referenced by di_packages_status_parser_info().
di_package* di_packages_get_package | ( | di_packages * | packages, |
const char * | name, | ||
size_t | n | ||
) |
get a named package.
packages | a di_packages |
name | the name of the package |
n | size of the name or 0 |
References di_hash_table_lookup(), di_rstring::size, di_rstring::string, and table.
Referenced by di_packages_append_package(), and di_packages_get_package_new().
di_package* di_packages_get_package_new | ( | di_packages * | packages, |
di_packages_allocator * | allocator, | ||
char * | name, | ||
size_t | n | ||
) |
get a named package. creates a new one if non-existant.
packages | a di_packages |
name | the name of the package |
n | size of the name |
References di_slist_node::data, di_package::depends, di_hash_table_foreach(), di_hash_table_insert(), di_log(), DI_LOG_LEVEL_DEBUG, DI_LOG_LEVEL_WARNING, di_package_dependency_type_depends, di_package_dependency_type_pre_depends, di_package_dependency_type_reverse_provides, di_package_type_non_existent, di_package_type_real_package, di_package_type_virtual_package, di_packages_get_package(), di_slist_alloc(), di_slist_append_chunk(), di_stradup(), di_slist::head, internal_di_slist_append_list(), di_package::key, list, di_slist_node::next, di_package::package, di_package::priority, di_package_dependency::ptr, resolver, di_package::resolver, di_rstring::size, di_packages_allocator::slist_node_mem_chunk, di_package::status, di_package::status_want, di_rstring::string, table, di_package::type, and di_package_dependency::type.
Referenced by di_package_parser_info(), and di_packages_status_parser_info().
di_packages_allocator* internal_di_packages_allocator_alloc | ( | void | ) |
Partially allocate di_packages_allocator
References di_mem_chunk_new(), di_new0, di_packages_allocator::package_dependency_mem_chunk, and di_packages_allocator::slist_node_mem_chunk.
Referenced by di_packages_allocator_alloc().