20 #ifndef DEBIAN_INSTALLER__PACKAGES_H
21 #define DEBIAN_INSTALLER__PACKAGES_H
23 #include <debian-installer/hash.h>
24 #include <debian-installer/parser.h>
25 #include <debian-installer/slist.h>
59 #include <debian-installer/package.h>
73 void di_packages_resolve_dependencies_mark (
di_packages *packages);
78 di_packages_parser_read_name;
Definition: system/packages.c:173
di_packages_allocator * internal_di_packages_allocator_alloc(void)
Definition: packages.c:62
di_mem_chunk * package_dependency_mem_chunk
Definition: packages.h:55
@ di_package_dependency_type_recommends
Definition: package.h:130
void internal_di_slist_append_list(di_slist *slist, di_slist *slist_append)
Definition: slist.c:99
di_parser_info * di_package_parser_info(void)
Definition: package_parser.c:233
di_parser_fields_function_read di_parser_read_rstring
Definition: parser.h:131
#define di_renew(struct_type, mem, n_structs)
Definition: mem.h:86
static int di_packages_status_write_file(di_packages *packages, const char *file)
Definition: packages.h:164
di_parser_fields_function_write di_package_parser_write_priority
Definition: package.h:247
di_parser_fields_function_write di_parser_write_string
Definition: parser.h:153
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
di_package * di_package_special_read_file(const char *file, di_packages *packages, di_packages_allocator *allocator, di_parser_info *(info)(void))
a mem chunk
Definition: mem_chunk.c:47
const di_parser_fieldinfo * di_packages_minimal_parser_fieldinfo[]
Definition: packages_parser.c:101
@ di_package_dependency_type_conflicts
Definition: package.h:132
di_package * ptr
Definition: package.h:144
Package.
Definition: package.h:96
const di_parser_fieldinfo internal_di_package_parser_field_status
Definition: package_parser.c:39
unsigned int integer
Definition: parser.h:109
di_parser_fields_function_write di_package_parser_write_description
Definition: package.h:243
di_slist_node * next
Definition: slist.h:47
int di_parser_rfc822_read_file(const char *file, di_parser_info *fieldinfo, di_parser_read_entry_new entry_new, di_parser_read_entry_finish entry_finish, void *user_data)
Definition: parser_rfc822.c:213
Single-linked list.
Definition: slist.h:37
di_package_priority priority
Definition: package.h:106
di_package * package
Definition: package_internal.h:66
void di_packages_allocator_free(di_packages_allocator *allocator)
Definition: packages.c:87
void di_hash_table_insert(di_hash_table *hash_table, void *key, void *value)
Definition: hash.c:178
static di_packages * di_packages_status_read_file(const char *file, di_packages_allocator *allocator)
Definition: packages.h:138
void di_slist_append_chunk(di_slist *slist, void *data, di_mem_chunk *mem_chunk) __attribute__((nonnull(1
di_package_type type
Definition: package.h:102
di_parser_fields_function_write di_package_parser_write_dependency
Definition: package.h:239
void di_packages_free(di_packages *packages)
Definition: packages.c:76
int di_packages_special_write_file(di_packages *packages, const char *file, di_parser_info *(info)(void))
char * string
Definition: string.h:39
@ di_package_type_real_package
Definition: package.h:89
di_mem_chunk * di_mem_chunk_new(di_ksize_t atom_size, di_ksize_t area_size)
Definition: mem_chunk.c:87
di_parser_fields_function_read di_parser_read_string
Definition: parser.h:135
di_package_status status
Definition: package.h:104
@ di_package_dependency_type_provides
Definition: package.h:127
di_hash_table * di_hash_table_new_full(di_hash_func hash_func, di_equal_func key_equal_func, di_destroy_notify key_destroy_func, di_destroy_notify value_destroy_func)
Definition: hash.c:113
static int di_packages_write_file(di_packages *packages, const char *file)
Definition: packages.h:151
di_package_status_want status_want
Definition: package.h:103
di_package_dependency_type type
Definition: package.h:143
Package dependency.
Definition: package.h:142
@ di_package_dependency_type_replaces
Definition: package.h:126
@ di_package_dependency_type_reverse_enhances
Definition: package.h:135
@ di_package_dependency_type_reverse_provides
Definition: package.h:134
Package - System.
Definition: system/packages.h:39
di_parser_fields_function_read di_package_parser_read_status
Definition: package.h:233
di_rstring key
Definition: parser.h:106
void di_packages_append_package(di_packages *packages, di_package *package, di_packages_allocator *allocator)
Definition: packages.c:100
void di_free(void *mem)
Definition: mem.c:60
Hash table.
Definition: hash.c:42
@ di_package_dependency_type_suggests
Definition: package.h:131
Definition: packages_internal.h:41
char * description
Definition: package.h:117
static di_packages * di_packages_minimal_read_file(const char *file, di_packages_allocator *allocator)
Definition: packages.h:127
Packages file - Allocator.
Definition: packages.h:53
di_hash_table * table
Definition: packages.h:43
di_parser_info * di_packages_status_parser_info(void)
Definition: packages_parser.c:151
di_parser_info * di_packages_minimal_parser_info(void)
Definition: packages_parser.c:137
@ di_package_dependency_type_enhances
Definition: package.h:133
di_parser_fields_function_write di_package_parser_write_status
Definition: package.h:251
di_packages_allocator * di_packages_allocator_alloc(void)
Definition: packages.c:48
di_parser_info * di_packages_parser_info(void)
Definition: packages_parser.c:123
void di_hash_table_destroy(di_hash_table *hash_table)
Definition: hash.c:134
di_parser_fields_function_read di_package_parser_read_priority
Definition: package.h:229
di_parser_fields_function_read di_parser_read_boolean
Definition: parser.h:123
di_package * di_packages_get_package_new(di_packages *packages, di_packages_allocator *allocator, char *name, size_t n)
Definition: packages.c:148
void di_log(di_log_level_flags log_level, const char *format,...) __attribute__((format(printf
raw string
Definition: string.h:38
di_packages * packages
Definition: package_internal.h:65
void di_hash_table_foreach(di_hash_table *hash_table, di_hfunc *func, void *user_data)
Definition: hash.c:246
di_parser_fields_function_write di_parser_write_rstring
Definition: parser.h:149
void di_parser_fields_function_write_callback(const di_rstring *field, const di_rstring *value, void *data)
Definition: parser.h:58
di_slist list
Definition: packages.h:44
Node of a single-linked list.
Definition: slist.h:46
di_slist_node * head
Definition: slist.h:38
di_ksize_t size
Definition: string.h:40
static di_packages * di_packages_read_file(const char *file, di_packages_allocator *allocator)
Definition: packages.h:116
di_parser_fields_function_read di_package_parser_read_description
Definition: package.h:225
char * subarchitecture
Definition: system/packages.h:42
@ di_package_dependency_type_depends
Definition: package.h:128
di_mem_chunk * slist_node_mem_chunk
Definition: packages.h:56
unsigned int resolver
Definition: packages.h:45
@ di_package_dependency_type_pre_depends
Definition: package.h:129
di_parser_fields_function_read di_package_parser_read_dependency
Definition: package.h:221
di_parser_fields_function_write di_parser_write_int
Definition: parser.h:145
di_packages * di_packages_alloc(void)
Definition: packages.c:35
@ di_package_type_virtual_package
Definition: package.h:88
const di_parser_fieldinfo * di_packages_parser_fieldinfo[]
Definition: packages_parser.c:48
#define di_new0(struct_type, n_structs)
Definition: mem.h:79
di_slist depends
Definition: package.h:112
void * di_hash_table_lookup(di_hash_table *hash_table, const void *key)
Definition: hash.c:169
di_slist * di_slist_alloc(void)
Definition: slist.c:26
void * data
Definition: slist.h:48
char * short_description
Definition: package.h:116
char * di_stradup(const char *s, size_t n)
Definition: string.c:45
di_package p
Definition: system/packages.h:40
@ di_package_type_non_existent
Definition: package.h:87
Definition: package_internal.h:63
di_package * di_packages_get_package(di_packages *packages, const char *name, size_t n)
Definition: packages.c:121
di_destroy_notify internal_di_package_destroy_func
Definition: package_internal.h:80
Parse info.
Definition: parser.h:94
void * di_malloc(size_t n_bytes) __attribute__((malloc))
Definition: mem.c:29
Info about a parser field.
Definition: parser.h:105
Packages file.
Definition: packages.h:42
Definition: packages_internal.h:72
void di_parser_fields_function_read(void **data, const di_parser_fieldinfo *fip, di_rstring *field_modifier, di_rstring *value, void *user_data)
Definition: parser.h:49
unsigned int resolver
Definition: package.h:118
di_rstring key
Definition: package.h:100
di_parser_fields_function_read di_parser_read_int
Definition: parser.h:127
di_packages * di_packages_special_read_file(const char *file, di_packages_allocator *allocator, di_parser_info *(info)(void))
char * package
Definition: package.h:99
di_mem_chunk * package_mem_chunk
Definition: packages.h:54
const di_parser_fieldinfo * di_package_parser_fieldinfo[]
Definition: package_parser.c:200
const di_parser_fieldinfo * di_packages_status_parser_fieldinfo[]
Definition: packages_parser.c:76
@ DI_LOG_LEVEL_DEBUG
Definition: log.h:42
di_packages_allocator * allocator
Definition: package_internal.h:64
di_parser_fields_function_write di_parser_write_boolean
Definition: parser.h:141
@ DI_LOG_LEVEL_WARNING
Definition: log.h:39