"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libburn/libburn.h" between
xorriso-1.4.6.tar.gz and xorriso-1.4.8.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

libburn.h  (xorriso-1.4.6):libburn.h  (xorriso-1.4.8)
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */ /* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens /* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2016 Thomas Schmitt <scdbackup@gmx.net> Copyright (c) 2006 - 2017 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
This is the official API definition of libburn. This is the official API definition of libburn.
*/ */
/* Important: If you add a public API function then add its name to file /* Important: If you add a public API function then add its name to file
libburn/libburn.ver libburn/libburn.ver
*/ */
#ifndef LIBBURN_H #ifndef LIBBURN_H
skipping to change at line 1277 skipping to change at line 1277
/* ts A61021 */ /* ts A61021 */
/** Reads ATIP information from inserted media. To be obtained via /** Reads ATIP information from inserted media. To be obtained via
burn_drive_get_write_speed(), burn_drive_get_min_write_speed(), burn_drive_get_write_speed(), burn_drive_get_min_write_speed(),
burn_drive_get_start_end_lba(). The drive must be grabbed for this call. burn_drive_get_start_end_lba(). The drive must be grabbed for this call.
@param drive The drive to query. @param drive The drive to query.
@return 1=success, 0=no valid ATIP info read, -1 severe error @return 1=success, 0=no valid ATIP info read, -1 severe error
@since 0.2.6 @since 0.2.6
*/ */
int burn_disc_read_atip(struct burn_drive *drive); int burn_disc_read_atip(struct burn_drive *drive);
/* ts B70206 */
/** Tells whether a BD-R medium with Pseudo Overwrite (POW) formatting is in
the drive. Such a formatting may have been applied by dvd+rw-tools. It
prevents sequential multi-session.
libburn will refuse to write to such a medium.
@param drive The drive to query.
@return 1 if BD-R Pseudo Overwrite , 0 if not BD-R or not POW
@since 1.4.8
*/
int burn_drive_get_bd_r_pow(struct burn_drive *drive);
/* ts A61020 */ /* ts A61020 */
/** Returns start and end lba of the media which is currently inserted /** Returns start and end lba of the media which is currently inserted
in the given drive. The drive has to be grabbed to have hope for reply. in the given drive. The drive has to be grabbed to have hope for reply.
Shortcomming (not a feature): unless burn_disc_read_atip() was called Shortcomming (not a feature): unless burn_disc_read_atip() was called
only blank media will return valid info. only blank media will return valid info.
@param drive The drive to query. @param drive The drive to query.
@param start_lba Returns the start lba value @param start_lba Returns the start lba value
@param end_lba Returns the end lba value @param end_lba Returns the end lba value
@param flag Bitfield for control purposes (unused yet, submit 0) @param flag Bitfield for control purposes (unused yet, submit 0)
@return 1 if lba values are valid , 0 if invalid @return 1 if lba values are valid , 0 if invalid
skipping to change at line 2944 skipping to change at line 2955
writing starts. A value of 0 disables this timeout. writing starts. A value of 0 disables this timeout.
@param min_percent Minimum of desired buffer oscillation: 25 to 100 @param min_percent Minimum of desired buffer oscillation: 25 to 100
@param max_percent Maximum of desired buffer oscillation: 25 to 100 @param max_percent Maximum of desired buffer oscillation: 25 to 100
@return 1=success , 0=failure @return 1=success , 0=failure
@since 0.3.8 @since 0.3.8
*/ */
int burn_drive_set_buffer_waiting(struct burn_drive *d, int enable, int burn_drive_set_buffer_waiting(struct burn_drive *d, int enable,
int min_usec, int max_usec, int timeout_sec, int min_usec, int max_usec, int timeout_sec,
int min_percent, int max_percent); int min_percent, int max_percent);
/* ts B61116 */
/** Control the write simulation mode before or after burn_write_opts get
into effect.
Beginning with version 1.4.8 a burn run by burn_disc_write() brings the
burn_drive object in the simulation state as set to the burn_write_opts
by burn_write_opts_set_simulate(). This state is respected by call
burn_random_access_write() until a new call of burn_disc_write() happens
or until burn_drive_reset_simulate() is called.
This call may only be made when burn_drive_get_status() returns
BURN_DRIVE_IDLE.
@param d The drive to control
@param simulate 1 enables simulation, 0 enables real writing
@return 1=success , 0=failure
@since 1.4.8
*/
int burn_drive_reset_simulate(struct burn_drive *d, int simulate);
/* these are for my [Derek Foreman's ?] debugging, they will disappear */ /* these are for my [Derek Foreman's ?] debugging, they will disappear */
/* ts B11012 : /* ts B11012 :
Of course, API symbols will not disappear. But these functions are of Of course, API symbols will not disappear. But these functions are of
few use, as they only print DEBUG messages. few use, as they only print DEBUG messages.
*/ */
void burn_structure_print_disc(struct burn_disc *d); void burn_structure_print_disc(struct burn_disc *d);
void burn_structure_print_session(struct burn_session *s); void burn_structure_print_session(struct burn_session *s);
void burn_structure_print_track(struct burn_track *t); void burn_structure_print_track(struct burn_track *t);
/** Sets the write type for the write_opts struct. /** Sets the write type for the write_opts struct.
skipping to change at line 3008 skipping to change at line 3037
/** Sets the simulate value for the write_opts struct . /** Sets the simulate value for the write_opts struct .
This corresponds to the Test Write bit in MMC mode page 05h. Several media This corresponds to the Test Write bit in MMC mode page 05h. Several media
types do not support this. See struct burn_multi_caps.might_simulate for types do not support this. See struct burn_multi_caps.might_simulate for
actual availability of this feature. actual availability of this feature.
If the media is suitable, the drive will perform burn_disc_write() as a If the media is suitable, the drive will perform burn_disc_write() as a
simulation instead of effective write operations. This means that the simulation instead of effective write operations. This means that the
media content and burn_disc_get_status() stay unchanged. media content and burn_disc_get_status() stay unchanged.
Note: With stdio-drives, the target file gets eventually created, opened, Note: With stdio-drives, the target file gets eventually created, opened,
lseeked, and closed, but not written. So there are effects on it. lseeked, and closed, but not written. So there are effects on it.
Warning: Call burn_random_access_write() will never do simulation because Note: Up to version 1.4.6 the call burn_random_access_write() after
it does not get any burn_write_opts. burn_disc_write() did not simulate because it does not get any
burn_write_opts and the drive did not memorize the simulation state.
This has changed now. burn_random_access_write() will not write after
a simulated burn run.
Use burn_drive_reset_simulate(drive, 0) if you really want to end
simulation before you call burn_disc_write() with new write options.
@param opts The write opts to change @param opts The write opts to change
@param sim Non-zero enables simulation, 0 enables real writing @param sim Non-zero enables simulation, 0 enables real writing
@return Returns 1 on success and 0 on failure. @return Returns 1 on success and 0 on failure.
*/ */
int burn_write_opts_set_simulate(struct burn_write_opts *opts, int sim); int burn_write_opts_set_simulate(struct burn_write_opts *opts, int sim);
/** Controls buffer underrun prevention. This is only needed with CD media /** Controls buffer underrun prevention. This is only needed with CD media
and possibly with old DVD-R drives. All other media types are not and possibly with old DVD-R drives. All other media types are not
vulnerable to burn failure due to buffer underrun. vulnerable to burn failure due to buffer underrun.
@param opts The write opts to change @param opts The write opts to change
skipping to change at line 3558 skipping to change at line 3592
|| (minor == burn_header_version_minor || (minor == burn_header_version_minor
&& micro >= burn_header_version_micro)))) { && micro >= burn_header_version_micro)))) {
... Young enough. Go on with program run .... ... Young enough. Go on with program run ....
} else { } else {
... Too old. Do not use this libburn version ... ... Too old. Do not use this libburn version ...
} }
*/ */
#define burn_header_version_major 1 #define burn_header_version_major 1
#define burn_header_version_minor 4 #define burn_header_version_minor 4
#define burn_header_version_micro 6 #define burn_header_version_micro 8
/** Note: /** Note:
Above version numbers are also recorded in configure.ac because libtool Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time. wants them as parameters at build time.
For the library compatibility check, BURN_*_VERSION in configure.ac For the library compatibility check, BURN_*_VERSION in configure.ac
are not decisive. Only the three numbers above do matter. are not decisive. Only the three numbers above do matter.
*/ */
/** Usage discussion: /** Usage discussion:
Some developers of the libburnia project have differing Some developers of the libburnia project have differing
opinions how to ensure the compatibility of libaries opinions how to ensure the compatibility of libaries
skipping to change at line 3823 skipping to change at line 3857
it is best to align to 32 KiB blocks (= 16 LBA units). The amount of data it is best to align to 32 KiB blocks (= 16 LBA units). The amount of data
to be written is subject to the same media dependent alignment rules. to be written is subject to the same media dependent alignment rules.
Again, 32 KiB is most safe. Again, 32 KiB is most safe.
Call burn_disc_get_multi_caps() can obtain the necessary media info. See Call burn_disc_get_multi_caps() can obtain the necessary media info. See
resulting struct burn_multi_caps elements .start_adr , .start_alignment , resulting struct burn_multi_caps elements .start_adr , .start_alignment ,
.start_range_low , .start_range_high . .start_range_low , .start_range_high .
Other than burn_disc_write() this is a synchronous call which returns Other than burn_disc_write() this is a synchronous call which returns
only after the write transaction has ended (successfully or not). So it is only after the write transaction has ended (successfully or not). So it is
wise not to transfer giant amounts of data in a single call. wise not to transfer giant amounts of data in a single call.
Important: Data have to fit into the already formatted area of the media. Important: Data have to fit into the already formatted area of the media.
If the burn_drive object is in simulation mode, then no actual write
operation or synchronization of the drive buffer will happen.
See burn_drive_reset_simulate().
@param d The drive to which to write @param d The drive to which to write
@param byte_address The start address of the write in byte @param byte_address The start address of the write in byte
(1 LBA unit = 2048 bytes) (do respect media alignment) (1 LBA unit = 2048 bytes) (do respect media alignment)
@param data The bytes to be written @param data The bytes to be written
@param data_count The number of those bytes (do respect media alignment) @param data_count The number of those bytes (do respect media alignment)
data_count == 0 is permitted (e.g. to flush the data_count == 0 is permitted (e.g. to flush the
drive buffer without further data transfer). drive buffer without further data transfer).
@param flag Bitfield for control purposes: @param flag Bitfield for control purposes:
bit0 = flush the drive buffer after eventual writing bit0 = flush the drive buffer after eventual writing
@return 1=successful , <=0 : number of transferred bytes * -1 @return 1=successful , <=0 : number of transferred bytes * -1
 End of changes. 6 change blocks. 
4 lines changed or deleted 43 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)