20 #ifndef DEBIAN_INSTALLER__PARSER_H
21 #define DEBIAN_INSTALLER__PARSER_H
23 #include <debian-installer/hash.h>
24 #include <debian-installer/slist.h>
25 #include <debian-installer/string.h>
116 #define DI_PARSER_FIELDINFO(name, read, write, integer) \
117 { { name, sizeof (name) - 1 }, read, write, integer }
bool wildcard
Definition: parser.h:98
di_parser_fields_function_read di_parser_read_rstring
Definition: parser.h:131
const di_parser_fieldinfo internal_di_packages_parser_field_package
Definition: packages_parser.c:36
di_hash_table * table
Definition: parser.h:95
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
int di_parser_rfc822_write_file(const char *file, di_parser_info *fieldinfo, di_parser_write_entry_next entry_next, void *user_data)
Definition: parser_rfc822.c:252
const di_parser_fieldinfo * di_packages_minimal_parser_fieldinfo[]
Definition: packages_parser.c:101
Package.
Definition: package.h:95
const di_parser_fieldinfo internal_di_package_parser_field_status
Definition: package_internal.h:37
unsigned int integer
Definition: parser.h:109
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
di_slist list
Definition: parser.h:96
Single-linked list.
Definition: slist.h:36
void di_hash_table_insert(di_hash_table *hash_table, void *key, void *value)
Definition: hash.c:178
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
void di_slist_destroy(di_slist *slist, di_destroy_notify destroy_func) __attribute__((nonnull(1)))
Definition: slist.c:35
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_parser_fields_function_read di_parser_read_string
Definition: parser.h:135
void di_slist_append(di_slist *slist, void *data) __attribute__((nonnull(1)))
Definition: slist.c:68
di_rstring key
Definition: parser.h:106
void di_free(void *mem)
Definition: mem.c:60
Hash table.
Definition: hash.c:41
Packages file - Allocator.
Definition: packages.h:52
di_parser_info * di_packages_status_parser_info(void)
Definition: packages_parser.c:151
bool modifier
Definition: parser.h:97
di_parser_info * di_packages_minimal_parser_info()
Definition: packages_parser.c:137
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_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
raw string
Definition: string.h:37
di_packages * packages
Definition: package_internal.h:65
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:45
di_slist_node * head
Definition: slist.h:38
di_ksize_t size
Definition: string.h:40
di_hash_table * di_hash_table_new(di_hash_func hash_func, di_equal_func key_equal_func)
Definition: hash.c:108
di_mem_chunk * slist_node_mem_chunk
Definition: packages.h:56
di_parser_fields_function_write di_parser_write_int
Definition: parser.h:145
di_packages * di_packages_alloc(void)
Definition: packages.c:35
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_parser_fields_function_read * read
Definition: parser.h:107
void * di_parser_read_entry_new(void *user_data)
Definition: parser.h:76
void * data
Definition: slist.h:48
di_parser_fields_function_write * write
Definition: parser.h:108
char * di_stradup(const char *s, size_t n)
Definition: string.c:45
Definition: package_internal.h:62
void di_parser_fields_function_write(void **data, const di_parser_fieldinfo *fip, di_parser_fields_function_write_callback callback, void *callback_data, void *user_data)
Definition: parser.h:70
Parse info.
Definition: parser.h:93
Info about a parser field.
Definition: parser.h:104
Packages file.
Definition: packages.h:41
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
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))
void * di_parser_write_entry_next(void **state_data, void *user_data)
Definition: parser.h:88
int di_parser_read_entry_finish(void *data, void *user_data)
Definition: parser.h:82
const di_parser_fieldinfo * di_packages_status_parser_fieldinfo[]
Definition: packages_parser.c:76
di_packages_allocator * allocator
Definition: package_internal.h:64
di_parser_fields_function_write di_parser_write_boolean
Definition: parser.h:141