libdebian-installer
Functions | Variables
Di_release_parser

Functions

di_releasedi_release_read_file (const char *file)
 

Variables

const di_parser_fieldinfodi_release_parser_fieldinfo []
 
const di_parser_fieldinfo internal_di_release_parser_field_origin
 
const di_parser_fieldinfo internal_di_release_parser_field_suite
 
const di_parser_fieldinfo internal_di_release_parser_field_codename
 
const di_parser_fieldinfo internal_di_release_parser_field_md5sum
 
const di_parser_fieldinfo internal_di_release_parser_field_sha1
 
const di_parser_fieldinfodi_release_parser_fieldinfo []
 

Detailed Description

Function Documentation

di_release* di_release_read_file ( const char *  file)

Read a standard Release file

Parameters
filefile to read

References di_hash_table_insert(), di_hash_table_lookup(), di_mem_chunk_alloc0(), di_parser_rfc822_read_file(), di_release_alloc(), di_release_free(), di_release_file::key, di_release::md5sum, di_release::release_file_mem_chunk, di_rstring::size, di_release_file::size, di_rstring::string, and di_release_file::sum.

143 {
144  di_release *release;
145  di_parser_info *info;
146 
147  release = di_release_alloc ();
148  info = di_parser_info_alloc ();
149  di_parser_info_add (info, di_release_parser_fieldinfo);
150 
151  if (di_parser_rfc822_read_file (file, info, parser_new, NULL, release) < 0)
152  {
153  di_release_free (release);
154  return NULL;
155  }
156 
157  return release;
158 }
void di_release_free(di_release *release)
Definition: release.c:122
Parse info.
Definition: parser.h:93
di_release * di_release_alloc(void)
Definition: release.c:108
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
const di_parser_fieldinfo * di_release_parser_fieldinfo[]
Definition: release.c:84
Release file.
Definition: release.h:38

Variable Documentation

const di_parser_fieldinfo* di_release_parser_fieldinfo[]

Standard Release file

const di_parser_fieldinfo* di_release_parser_fieldinfo[]
Initial value:
=
{
&internal_di_release_parser_field_suite,
&internal_di_release_parser_field_codename,
&internal_di_release_parser_field_md5sum,
&internal_di_release_parser_field_sha1,
NULL
}
const di_parser_fieldinfo internal_di_release_parser_field_origin
Definition: release.c:40

Standard Release file

const di_parser_fieldinfo internal_di_release_parser_field_codename
Initial value:
=
(
"Codename",
NULL,
offsetof (di_release, codename)
)
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
di_parser_fields_function_read di_parser_read_string
Definition: parser.h:123
Release file.
Definition: release.h:38
const di_parser_fieldinfo internal_di_release_parser_field_md5sum
Initial value:
=
(
"MD5Sum",
di_release_parser_read_file,
NULL,
0
)
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
const di_parser_fieldinfo internal_di_release_parser_field_origin
Initial value:
=
(
"Origin",
NULL,
offsetof (di_release, origin)
)
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
di_parser_fields_function_read di_parser_read_string
Definition: parser.h:123
Release file.
Definition: release.h:38

parser info

const di_parser_fieldinfo internal_di_release_parser_field_sha1
Initial value:
=
(
"SHA1",
di_release_parser_read_file,
NULL,
1
)
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
const di_parser_fieldinfo internal_di_release_parser_field_suite
Initial value:
=
(
"Suite",
NULL,
offsetof (di_release, suite)
)
#define DI_PARSER_FIELDINFO(name, read, write, integer)
Definition: parser.h:116
di_parser_fields_function_read di_parser_read_string
Definition: parser.h:123
Release file.
Definition: release.h:38