New API function isoburn_get_mount_params()

This commit is contained in:
2008-12-05 17:10:27 +00:00
parent 1bc60d0c0c
commit e7ab799c76
3 changed files with 120 additions and 9 deletions

View File

@ -336,7 +336,8 @@ int isoburn_set_msgs_submit(int (*msgs_submit)(void *handle, int error_code,
(cdrom/burner). Thus use with driveno 0 only. On failure
the array has no valid elements at all.
The returned array should be freed via burn_drive_info_free()
when the drive is no longer needed.
when the drive is no longer needed. But before this is done
one has to call isoburn_drive_release(drive_infos[0].drive).
@param adr The persistent address of the desired drive.
@param load 1 attempt to load the disc tray. 0 no attempt,rather failure.
@return 1 = success , 0 = drive not found , <0 = other error
@ -353,7 +354,8 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
(cdrom/burner). Thus use with driveno 0 only. On failure
the array has no valid elements at all.
The returned array should be freed via burn_drive_info_free()
when the drive is no longer needed.
when the drive is no longer needed. But before this is done
one has to call isoburn_drive_release(drive_infos[0].drive).
@param adr The persistent address of the desired drive.
@param flag bit0= attempt to load the disc tray.
Else: failure if not loaded.
@ -375,6 +377,7 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
Wrapper for: burn_drive_grab()
@since 0.1.0
@param drive The drive to grab. E.g. drive_infos[1].drive .
Call isoburn_drive_release(drive) when it it no longer needed.
@param load 1 attempt to load the disc tray. 0 no attempt, rather failure.
@return 1 success, <=0 failure
*/
@ -450,12 +453,14 @@ void isoburn_disc_erase(struct burn_drive *drive, int fast);
3= adr_value itself is the lba to be used
4= start lba of last session with volume id
given by adr_value
@parm adr_value A string describing the value to be eventually used.
@param adr_value A string describing the value to be eventually used.
@param flag Bitfield for control purposes.
bit0= @since 0.2.2
with adr_mode 3: adr_value might be 16 blocks too high
(e.g. -C stemming from growisofs). Probe for ISO head
at adr_value-16 and eventually adjust setting.
bit1= insist in seeing a disc object with at least one session
bit2= with adr_mode 4: use adr_value as regular expression
*/
int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
int flag);
@ -600,6 +605,35 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
int *image_blocks, char *info, int flag);
/** Try to convert the given entity address into various entity addresses
which would describe it.
Note: Sessions and tracks are counted beginning with 1, not with 0.
@since 0.3.2
@param drive The drive where msc1 is to be set
@param adr_mode Determines how to interpret the input adr_value.
If adr_value shall represent a number then decimal ASCII
digits are expected.
0= start lba of last session in TOC, ignore adr_value
1= start lba of session number given by adr_value
2= start lba of track given number by adr_value
3= adr_value itself is the lba to be used
4= start lba of last session with volume id
given by adr_value
@param adr_value A string describing the value to be eventually used.
@param lba returns the block address of the entity, -1 means invalid
@param track returns the track number of the entity, -1 means invalid
@param session returns the session number of the entity, -1 means invalid
@param volid returns the volume id of the entity if it is a ISO session
@param flag Bitfield for control purposes.
bit2= with adr_mode 4: use adr_value as regular expression
@return <=0 error , 1 ok, ISO session, 2 ok, not an ISO session
*/
int isoburn_get_mount_params(struct burn_drive *d,
int adr_mode, char *adr_value,
int *lba, int *track, int *session,
char volid[33], int flag);
/* ----------------------------------------------------------------------- */
/*
@ -1243,7 +1277,7 @@ void isoburn_disc_write(struct burn_write_opts *o, struct burn_disc *disc);
Hint: If only burn_write_opts and not burn_drive is known, then the drive
can be obtained by burn_write_opts_get_drive().
@since 0.1.0
@parm d The drive to which the track with the fifo gets burned.
@param d The drive to which the track with the fifo gets burned.
@param size The total size of the fifo
@param free_bytes The current free capacity of the fifo
@param status_text Returns a pointer to a constant text, see below