Support for specify image creation options.
This commit is contained in:
@ -224,8 +224,8 @@ int isoburn_find_by_drive(struct isoburn **pt, struct burn_drive *d, int flag)
|
||||
}
|
||||
|
||||
static
|
||||
int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
||||
int new_img)
|
||||
int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
||||
struct isoburn_source_opts *opts, int new_img)
|
||||
{
|
||||
struct burn_source *wsrc;
|
||||
struct burn_session *session;
|
||||
@ -244,25 +244,24 @@ int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
||||
session = burn_session_create();
|
||||
burn_disc_add_session(*disc, session, BURN_POS_END);
|
||||
|
||||
// FIXME we need a way to allow users to pass parameters to this!!
|
||||
wopts.volnum = 0;
|
||||
wopts.level = 2;
|
||||
wopts.flags = 0;
|
||||
wopts.relaxed_constraints = 0;
|
||||
wopts.copy_eltorito = 0;
|
||||
wopts.no_cache_inodes = 0;
|
||||
wopts.sort_files = 1;
|
||||
wopts.default_mode = 0;
|
||||
wopts.replace_dir_mode = 0;
|
||||
wopts.replace_file_mode = 0;
|
||||
wopts.replace_uid = 0;
|
||||
wopts.replace_gid = 0;
|
||||
wopts.dir_mode = 0555;
|
||||
wopts.file_mode = 0555;
|
||||
wopts.gid = 0;
|
||||
wopts.uid = 0;
|
||||
wopts.input_charset = NULL;
|
||||
wopts.ouput_charset = NULL;
|
||||
wopts.level = opts->level;
|
||||
wopts.flags = opts->flag;
|
||||
wopts.relaxed_constraints = opts->relaxed_constraints;
|
||||
wopts.copy_eltorito = opts->copy_eltorito;
|
||||
wopts.no_cache_inodes = opts->no_cache_inodes;
|
||||
wopts.sort_files = opts->sort_files;
|
||||
wopts.default_mode = opts->default_mode;
|
||||
wopts.replace_dir_mode = opts->replace_dir_mode;
|
||||
wopts.replace_file_mode = opts->replace_file_mode;
|
||||
wopts.replace_uid = opts->replace_uid;
|
||||
wopts.replace_gid = opts->replace_gid;
|
||||
wopts.dir_mode = opts->dir_mode;
|
||||
wopts.file_mode = opts->file_mode;
|
||||
wopts.gid = opts->gid;
|
||||
wopts.uid = opts->uid;
|
||||
wopts.input_charset = opts->input_charset;
|
||||
wopts.ouput_charset = opts->ouput_charset;
|
||||
|
||||
wopts.ms_block = (new_img ? 0 : o->nwa);
|
||||
wopts.src = o->src;
|
||||
@ -276,12 +275,14 @@ int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
|
||||
return 1;
|
||||
}
|
||||
|
||||
int isoburn_prepare_disc(struct burn_drive *d, struct burn_disc **disc)
|
||||
int isoburn_prepare_disc(struct burn_drive *d, struct burn_disc **disc,
|
||||
struct isoburn_source_opts *opts)
|
||||
{
|
||||
return isoburn_prepare_disc_aux(d, disc, 0);
|
||||
return isoburn_prepare_disc_aux(d, disc, opts, 0);
|
||||
}
|
||||
|
||||
int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc)
|
||||
int isoburn_prepare_new_image(struct burn_drive *d, struct burn_disc **disc,
|
||||
struct isoburn_source_opts *opts)
|
||||
{
|
||||
return isoburn_prepare_disc_aux(d, disc, 1);
|
||||
return isoburn_prepare_disc_aux(d, disc, opts, 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user