libdebian-installer
Data Structures | Functions | Variables
Di_system_packages

Data Structures

struct  di_system_package
 Package - System. More...
 

Functions

void di_system_package_destroy (di_system_package *package)
 
di_packagesdi_system_packages_alloc (void)
 
di_packages_allocatordi_system_packages_allocator_alloc (void)
 
bool di_system_package_check_subarchitecture (di_package *package, const char *subarchitecture)
 
di_parser_infodi_system_package_parser_info (void)
 
di_parser_infodi_system_packages_parser_info (void)
 
di_parser_infodi_system_packages_status_parser_info (void)
 
static di_packagedi_system_package_read_file (const char *file, di_packages *packages, di_packages_allocator *allocator)
 
static di_packagesdi_system_packages_read_file (const char *file, di_packages_allocator *allocator)
 
static di_packagesdi_system_packages_status_read_file (const char *file, di_packages_allocator *allocator)
 
static int di_system_packages_write_file (di_packages *packages, const char *file)
 
static int di_system_packages_status_write_file (di_packages *packages, const char *file)
 
di_slistdi_system_packages_resolve_dependencies_array_permissive (di_packages *packages, di_package **array, di_packages_allocator *allocator)
 
void di_system_packages_resolve_dependencies_mark_anna (di_packages *packages, const char *subarchitecture, const char *kernel)
 

Variables

const di_parser_fieldinfodi_system_package_parser_fieldinfo []
 

Detailed Description

Function Documentation

◆ di_system_package_check_subarchitecture()

bool di_system_package_check_subarchitecture ( di_package package,
const char *  subarchitecture 
)
97{
98 char *begin, *end, *temp;
99 size_t len_subarchitecture = strlen (subarchitecture);
100
101 begin = ((di_system_package *) package)->subarchitecture;
102 if (!begin)
103 return true;
104
105 end = begin + strlen (begin);
106 while (begin < end)
107 {
108 begin += strspn (begin, " \t\n");
109 temp = begin;
110 temp += strcspn (temp, " \t\n");
111
112 if ((size_t) (temp - begin) == len_subarchitecture && strncmp (begin, subarchitecture, len_subarchitecture) == 0)
113 return true;
114
115 begin = temp;
116 }
117
118 return false;
119}
Package - System.
Definition: system/packages.h:39

◆ di_system_package_destroy()

void di_system_package_destroy ( di_system_package package)
70{
71 di_free (package->subarchitecture);
72
73 di_package_destroy (&package->p);
74}
void di_free(void *mem)
Definition: mem.c:60
char * subarchitecture
Definition: system/packages.h:42
di_package p
Definition: system/packages.h:40

◆ di_system_package_parser_info()

di_parser_info * di_system_package_parser_info ( void  )
122{
123 di_parser_info *info;
124
125 info = di_package_parser_info ();
126 di_parser_info_add (info, di_system_package_parser_fieldinfo);
127
128 return info;
129}
di_parser_info * di_package_parser_info(void)
Definition: package_parser.c:233
Parse info.
Definition: parser.h:94

◆ di_system_package_read_file()

static di_package * di_system_package_read_file ( const char *  file,
di_packages packages,
di_packages_allocator allocator 
)
inlinestatic

Read a standard package control file

Parameters
filefile to read
allocatorthe allocator for the packages structure
66{
67 return di_package_special_read_file (file, packages, allocator, di_system_package_parser_info);
68}
di_package * di_package_special_read_file(const char *file, di_packages *packages, di_packages_allocator *allocator, di_parser_info *(info)(void))

References di_package_special_read_file().

◆ di_system_packages_alloc()

di_packages * di_system_packages_alloc ( void  )
87{
88 di_packages *ret;
89
90 ret = di_new0 (di_packages, 1);
91 ret->table = di_hash_table_new_full (di_rstring_hash, di_rstring_equal, NULL, internal_di_system_package_destroy_func);
92
93 return ret;
94}
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
#define di_new0(struct_type, n_structs)
Definition: mem.h:79
Packages file.
Definition: packages.h:42
di_hash_table * table
Definition: packages.h:43

◆ di_system_packages_allocator_alloc()

di_packages_allocator * di_system_packages_allocator_alloc ( void  )
77{
79
82
83 return ret;
84}
di_mem_chunk * di_mem_chunk_new(di_ksize_t atom_size, di_ksize_t area_size)
Definition: mem_chunk.c:87
di_packages_allocator * internal_di_packages_allocator_alloc(void)
Definition: packages.c:62
Packages file - Allocator.
Definition: packages.h:53
di_mem_chunk * package_mem_chunk
Definition: packages.h:54

◆ di_system_packages_parser_info()

di_parser_info * di_system_packages_parser_info ( void  )
132{
133 di_parser_info *info;
134
135 info = di_packages_parser_info ();
136 di_parser_info_add (info, di_system_package_parser_fieldinfo);
137
138 return info;
139}
di_parser_info * di_packages_parser_info(void)
Definition: packages_parser.c:123

◆ di_system_packages_read_file()

static di_packages * di_system_packages_read_file ( const char *  file,
di_packages_allocator allocator 
)
inlinestatic

Read a standard Packages file

Parameters
filefile to read
allocatorthe allocator for the packages structure
77{
78 return di_packages_special_read_file (file, allocator, di_system_packages_parser_info);
79}
di_packages * di_packages_special_read_file(const char *file, di_packages_allocator *allocator, di_parser_info *(info)(void))

References di_packages_special_read_file().

◆ di_system_packages_resolve_dependencies_array_permissive()

di_slist * di_system_packages_resolve_dependencies_array_permissive ( di_packages packages,
di_package **  array,
di_packages_allocator allocator 
)
152{
154 {
155 { NULL, NULL },
156 allocator,
157 };
159 {
160 di_packages_resolve_dependencies_check_real,
161 di_packages_resolve_dependencies_check_virtual,
162 di_packages_resolve_dependencies_check_non_existant_permissive,
163 di_packages_resolve_dependencies_do_real_list_append,
164 0,
165 NULL,
166 &data,
167 };
168
169 return di_packages_resolve_dependencies_array_special (packages, array, &s, allocator);
170}
Definition: packages_internal.h:41

◆ di_system_packages_resolve_dependencies_mark_anna()

void di_system_packages_resolve_dependencies_mark_anna ( di_packages packages,
const char *  subarchitecture,
const char *  kernel 
)
232{
233 struct check sc =
234 {
235 subarchitecture,
236 kernel,
237 };
239 {
240 check_real_anna,
241 check_virtual_anna,
242 di_packages_resolve_dependencies_check_non_existant_permissive,
243 di_packages_resolve_dependencies_do_real_mark,
244 0,
245 &sc,
246 NULL,
247 };
248
249 return di_packages_resolve_dependencies_mark_special (packages, &s);
250}
Definition: system/packages.c:173

◆ di_system_packages_status_parser_info()

di_parser_info * di_system_packages_status_parser_info ( void  )
142{
143 di_parser_info *info;
144
146 di_parser_info_add (info, di_system_package_parser_fieldinfo);
147
148 return info;
149}
di_parser_info * di_packages_status_parser_info(void)
Definition: packages_parser.c:151

◆ di_system_packages_status_read_file()

static di_packages * di_system_packages_status_read_file ( const char *  file,
di_packages_allocator allocator 
)
inlinestatic

Read a standard status file

Parameters
filefile to read
allocatorthe allocator for the packages structure
88{
89 return di_packages_special_read_file (file, allocator, di_system_packages_status_parser_info);
90}

References di_packages_special_read_file().

◆ di_system_packages_status_write_file()

static int di_system_packages_status_write_file ( di_packages packages,
const char *  file 
)
inlinestatic

Write a standard status file

Parameters
packagesthe packages structure
filefile to read
110{
111 return di_packages_special_write_file (packages, file, di_system_packages_status_parser_info);
112}
int di_packages_special_write_file(di_packages *packages, const char *file, di_parser_info *(info)(void))

References di_packages_special_write_file().

◆ di_system_packages_write_file()

static int di_system_packages_write_file ( di_packages packages,
const char *  file 
)
inlinestatic

Write a standard Packages file

Parameters
packagesthe packages structure
filefile to read
99{
100 return di_packages_special_write_file (packages, file, di_system_packages_parser_info);
101}

References di_packages_special_write_file().