|
|
|
@ -104,6 +104,7 @@ struct isoburn_read_opts {
|
|
|
|
|
present, to 0 if not. */
|
|
|
|
|
uint32_t size; /**< Will be filled with the size (in 2048 byte block) of
|
|
|
|
|
* the image, as reported in the PVM. */
|
|
|
|
|
unsigned int pretend_blank:1; /* always create empty image */
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -189,21 +190,48 @@ struct isoburn_source_opts {
|
|
|
|
|
/** Load the ISO filesystem directory tree from the media in the given drive.
|
|
|
|
|
This will give libisoburn the base on which it can let libisofs perform
|
|
|
|
|
image growing or image modification. The loaded volset gets attached
|
|
|
|
|
to the drive object and is not publicly available.
|
|
|
|
|
to the drive object and handed out to the application.
|
|
|
|
|
Not a wrapper, but peculiar to libisoburn.
|
|
|
|
|
@param d The drive which holds an existing ISO filesystem
|
|
|
|
|
@param d The drive which holds an existing ISO filesystem or blank media.
|
|
|
|
|
d is allowed to be NULL which produces an empty ISO image. In
|
|
|
|
|
this case one has to call before writing isoburn_attach_volset()
|
|
|
|
|
with the volset from this call and with the intended output
|
|
|
|
|
drive.
|
|
|
|
|
@param read_opts The read options which can be chosen by the application
|
|
|
|
|
@param volset the volset that represents the image, if the disc is blacnk
|
|
|
|
|
it will have no files
|
|
|
|
|
@param volset the volset that represents the image, if the disc is blank
|
|
|
|
|
it will have no files.
|
|
|
|
|
This reference needs to be released via iso_volset_free() when
|
|
|
|
|
it is not longer needed. The drive, if not NULL, will hold an
|
|
|
|
|
own reference which it will release when it gets a new volset
|
|
|
|
|
or when it gets released via isoburn_drive_release().
|
|
|
|
|
@return <=0 error , 1 = success
|
|
|
|
|
>>>>> error means damaged or unsupported image
|
|
|
|
|
error code is stored in ecma119_read_opts in libisofs
|
|
|
|
|
also error msgs are enqueued. Any need to pass them to usr? <<<<<<
|
|
|
|
|
*/
|
|
|
|
|
int isoburn_read_volset(struct burn_drive *d, struct isoburn_read_opts *read_opts,
|
|
|
|
|
int isoburn_read_volset(struct burn_drive *d,
|
|
|
|
|
struct isoburn_read_opts *read_opts,
|
|
|
|
|
struct iso_volset **volset);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Attach a ISO filesystem directory tree to a drive. This eventually releases
|
|
|
|
|
the reference to the old volset attached to the drive.
|
|
|
|
|
Caution: Use with care. It hardly makes sense to replace a volset that
|
|
|
|
|
reflects a valid ISO image on media.
|
|
|
|
|
This call is rather intended for writing a newly created and populated
|
|
|
|
|
image to blank media. The use case in xorriso is to let a volset survive
|
|
|
|
|
the change or demise of the outdev target drive.
|
|
|
|
|
@param d The drive which shall be write target of the volset.
|
|
|
|
|
@param volset The volset that represents the image to be written.
|
|
|
|
|
This volset pointer MUST already be a valid reference suitable
|
|
|
|
|
for iso_volset_free().
|
|
|
|
|
It may have been obtained by appropriate libisofs calls or by
|
|
|
|
|
isoburn_read_volset() with d==NULL.
|
|
|
|
|
@return <=0 error , 1 = success
|
|
|
|
|
*/
|
|
|
|
|
int isoburn_attach_volset(struct burn_drive *d, struct iso_volset *volset);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Obtain the start block number of the most recent session on media. In
|
|
|
|
|
case of random access media this will always be 0. Succesfull return is
|
|
|
|
|
not a guarantee that there is a ISO-9660 image at all. The call will fail,
|
|
|
|
@ -348,19 +376,3 @@ void isoburn_finish(void);
|
|
|
|
|
int isoburn_needs_emulation(struct burn_drive *drive);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef Libburn_obsoleted_on_its_way_ouT
|
|
|
|
|
|
|
|
|
|
/** Caution: Use this with great care. It is not needed normally.
|
|
|
|
|
|
|
|
|
|
This call can set the nwa block number to an arbitrary value. If ever, do
|
|
|
|
|
this before preparing the session by libisofs. The drive must be grabbed,
|
|
|
|
|
though. This overrides the automated address computation. Call
|
|
|
|
|
isoburn_disc_track_lba_nwa() afterwards to learn the effective new
|
|
|
|
|
address which might be somewhat higher than set by parameter value.
|
|
|
|
|
Wrapper for: burn_write_opts_set_start_byte (if ever)
|
|
|
|
|
*/
|
|
|
|
|
void isoburn_write_opts_set_start_byte(struct burn_write_opts *opts,
|
|
|
|
|
off_t value);
|
|
|
|
|
|
|
|
|
|
#endif /* Libburn_obsoleted_on_its_way_ouT */
|
|
|
|
|
|
|
|
|
|