"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libisoburn/isoburn.h" between
xorriso-1.5.2.tar.gz and xorriso-1.5.4.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.

isoburn.h  (xorriso-1.5.2):isoburn.h  (xorriso-1.5.4)
/* /*
Class struct of libisoburn. Class struct of libisoburn.
Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es> Copyright 2007 - 2009 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007 - 2019 Thomas Schmitt <scdbackup@gmx.net> Copyright 2007 - 2020 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later. Provided under GPL version 2 or later.
*/ */
#ifndef Isoburn_includeD #ifndef Isoburn_includeD
#define Isoburn_includeD #define Isoburn_includeD
/* for uint8_t */ /* for uint8_t */
#ifdef HAVE_STDINT_H #ifdef HAVE_STDINT_H
#include <stdint.h> #include <stdint.h>
#else #else
#ifdef HAVE_INTTYPES_H #ifdef HAVE_INTTYPES_H
#include <inttypes.h> #include <inttypes.h>
#endif #endif
#endif #endif
/* For emulated TOC of overwriteable media. /* For emulated TOC of overwritable media.
Provides minimal info for faking a struct burn_toc_entry. Provides minimal info for faking a struct burn_toc_entry.
*/ */
struct isoburn_toc_entry { struct isoburn_toc_entry {
int session; int session;
int track_no; /* point */ int track_no; /* point */
int start_lba; int start_lba;
int track_blocks; int track_blocks;
char *volid; /* For caching a volume id from emulated toc on overwriteables */ char *volid; /* For caching a volume id from emulated toc on overwritables */
struct isoburn_toc_entry *next; struct isoburn_toc_entry *next;
}; };
int isoburn_toc_entry_new(struct isoburn_toc_entry **objpt, int isoburn_toc_entry_new(struct isoburn_toc_entry **objpt,
struct isoburn_toc_entry *boss, int flag); struct isoburn_toc_entry *boss, int flag);
/* @param flag bit0= delete all subordinates too /* @param flag bit0= delete all subordinates too
*/ */
int isoburn_toc_entry_destroy(struct isoburn_toc_entry **o, int flag); int isoburn_toc_entry_destroy(struct isoburn_toc_entry **o, int flag);
skipping to change at line 88 skipping to change at line 88
*/ */
int fabricated_msc1; int fabricated_msc1;
/* If >= 0, this address is used in isoburn_disc_track_lba_nwa() /* If >= 0, this address is used in isoburn_disc_track_lba_nwa()
as reply parameter nwa. as reply parameter nwa.
(The other nwa parameters below apply only to the effective write address (The other nwa parameters below apply only to the effective write address
on random access media. msc2 is handed to libisofs but not to libburn.) on random access media. msc2 is handed to libisofs but not to libburn.)
*/ */
int fabricated_msc2; int fabricated_msc2;
/* The nwa to be used for a first session on the present kind of overwriteable /* The nwa to be used for a first session on the present kind of overwritable
media (usually Libisoburn_overwriteable_starT, but might be forced to 0) media (usually Libisoburn_overwriteable_starT, but might be forced to 0)
*/ */
int zero_nwa; int zero_nwa;
/* Start address as given by image examination (bytes, not blocks) */ /* Start address as given by image examination (bytes, not blocks) */
off_t min_start_byte; off_t min_start_byte;
/* Aligned start address to be used for processing (counted in blocks) */ /* Aligned start address to be used for processing (counted in blocks) */
int nwa; int nwa;
skipping to change at line 113 skipping to change at line 113
BURN_DISC_UNREADY means that this variable is disabled BURN_DISC_UNREADY means that this variable is disabled
and normally emulated status is in effect. and normally emulated status is in effect.
*/ */
enum burn_disc_status fabricated_disc_status; enum burn_disc_status fabricated_disc_status;
/* To be set if read errors occurred during media evaluation. /* To be set if read errors occurred during media evaluation.
*/ */
int media_read_error; int media_read_error;
/* Eventual emulated table of content read from the chain of ISO headers /* Eventual emulated table of content read from the chain of ISO headers
on overwriteable media. on overwritable media.
*/ */
struct isoburn_toc_entry *toc; struct isoburn_toc_entry *toc;
/* Indicator wether the most recent burn run worked : /* Indicator whether the most recent burn run worked :
-1 = undetermined, ask libburn , 0 = failure , 1 = success -1 = undetermined, ask libburn , 0 = failure , 1 = success
To be inquired by isoburn_drive_wrote_well() To be inquired by isoburn_drive_wrote_well()
*/ */
int wrote_well; int wrote_well;
/* ISO head buffer to be filled by write run */ /* ISO head buffer to be filled by write run */
int target_iso_head_size; int target_iso_head_size;
uint8_t *target_iso_head; uint8_t *target_iso_head;
/* The 2k offset which was read from a loaded image. /* The 2k offset which was read from a loaded image.
skipping to change at line 312 skipping to change at line 312
int cache_tiles; /* number of cache tiles */ int cache_tiles; /* number of cache tiles */
int cache_tile_blocks; int cache_tile_blocks;
unsigned int norock:1; /*< Do not read Rock Ridge extensions */ unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */ unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */ unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
unsigned int do_ecma119_map:1; /* call iso_read_opts_set_ecma119_map() */ unsigned int do_ecma119_map:1; /* call iso_read_opts_set_ecma119_map() */
unsigned int map_mode:2; /* argument for do_ecma119_map */ unsigned int map_mode:2; /* argument for do_ecma119_map */
unsigned int do_joliet_map:1; /* call iso_read_opts_set_joliet_map() */
unsigned int joliet_map_mode:1; /* for iso_read_opts_set_joliet_map */
/* ts A90121 */ /* ts A90121 */
unsigned int noaaip:1; /* Do not read AAIP for ACL and EA */ unsigned int noaaip:1; /* Do not read AAIP for ACL and EA */
unsigned int noacl:1; /* Do not read ACL from external file objects */ unsigned int noacl:1; /* Do not read ACL from external file objects */
unsigned int noea:1; /* Do not read XFS-style EA from externals */ unsigned int noea:1; /* Do not read XFS-style EA from externals */
/* ts A90508 */ /* ts A90508 */
unsigned int noino:1; /* Discard eventual PX inode numbers */ unsigned int noino:1; /* Discard eventual PX inode numbers */
/* ts A90810 */ /* ts A90810 */
unsigned int nomd5:2; /* Do not read eventual MD5 array */ unsigned int nomd5:2; /* Do not read eventual MD5 array */
skipping to change at line 371 skipping to change at line 374
* It will be set to 1 if the image is an ISO 9660:1999, i.e. it has * It will be set to 1 if the image is an ISO 9660:1999, i.e. it has
* a version 2 Enhanced Volume Descriptor. * a version 2 Enhanced Volume Descriptor.
*/ */
unsigned int hasIso1999:1; unsigned int hasIso1999:1;
/** It will be set to 1 if El-Torito boot record is present, to 0 if not.*/ /** It will be set to 1 if El-Torito boot record is present, to 0 if not.*/
unsigned int hasElTorito:1; unsigned int hasElTorito:1;
uint32_t size; /**< Will be filled with the size (in 2048 byte block) of uint32_t size; /**< Will be filled with the size (in 2048 byte block) of
* the image, as reported in the PVM. */ * the image, as reported in the PVM. */
int tree_loaded; /* from iso_read_image_features_tree_loaded() */
int rr_loaded; /* from iso_read_image_features_rr_loaded */
unsigned int pretend_blank:1; /* always create empty image */ unsigned int pretend_blank:1; /* always create empty image */
uint32_t displacement; uint32_t displacement;
int displacement_sign; int displacement_sign;
}; };
/** /**
* Options for image generation by libisofs and image transport to libburn. * Options for image generation by libisofs and image transport to libburn.
(Comments here may be outdated. API getter/setter function descriptions (Comments here may be outdated. API getter/setter function descriptions
may override the descriptions here. Any difference is supposed to be a may override the descriptions here. Any difference is supposed to be a
skipping to change at line 412 skipping to change at line 419
unsigned int aaip :1; unsigned int aaip :1;
/* Produce and write a MD5 checksum of the whole session stream. */ /* Produce and write a MD5 checksum of the whole session stream. */
unsigned int session_md5 :1; unsigned int session_md5 :1;
/* Produce and write MD5 checksums for each single IsoFile. /* Produce and write MD5 checksums for each single IsoFile.
See parameter "files" of iso_write_opts_set_record_md5(). See parameter "files" of iso_write_opts_set_record_md5().
*/ */
unsigned int file_md5 :2; unsigned int file_md5 :2;
/* On overwriteable media or random access files do not write the first /* On overwritable media or random access files do not write the first
session to LBA 32, but rather to LBA 0 directly. session to LBA 32, but rather to LBA 0 directly.
*/ */
unsigned int no_emul_toc :1; unsigned int no_emul_toc :1;
/* For empty files, symbolic links, and devices use the old ECMA-119 block /* For empty files, symbolic links, and devices use the old ECMA-119 block
addresses in the range [0,31] rather than the address of the dedicated addresses in the range [0,31] rather than the address of the dedicated
empty block. empty block.
*/ */
unsigned int old_empty :1; unsigned int old_empty :1;
skipping to change at line 672 skipping to change at line 679
*/ */
uint32_t tail_blocks; uint32_t tail_blocks;
/* Disk file paths of content of PreP partition and EFI system partition */ /* Disk file paths of content of PreP partition and EFI system partition */
char *prep_partition; char *prep_partition;
int prep_part_flag; int prep_part_flag;
char *efi_boot_partition; char *efi_boot_partition;
int efi_boot_part_flag; int efi_boot_part_flag;
/* Disk file paths of prepared images which shall be appended /* Disk file paths of prepared images which shall be appended
after the ISO image and described by partiton table entries in a MBR. after the ISO image and described by partition table entries in a MBR.
NULL means unused. NULL means unused.
*/ */
char *appended_partitions[Libisoburn_max_appended_partitionS]; char *appended_partitions[Libisoburn_max_appended_partitionS];
uint8_t appended_part_types[Libisoburn_max_appended_partitionS]; uint8_t appended_part_types[Libisoburn_max_appended_partitionS];
int appended_part_flags[Libisoburn_max_appended_partitionS]; int appended_part_flags[Libisoburn_max_appended_partitionS];
uint8_t appended_part_type_guids[Libisoburn_max_appended_partitionS][16]; uint8_t appended_part_type_guids[Libisoburn_max_appended_partitionS][16];
/* Flags in case that appended partitions show up in GPT: /* Flags in case that appended partitions show up in GPT:
bit0= appended_part_type_guids[same_index] is valid bit0= appended_part_type_guids[same_index] is valid
*/ */
skipping to change at line 742 skipping to change at line 749
* 1 = TAO, Incremental, no RESERVE TRACK * 1 = TAO, Incremental, no RESERVE TRACK
* -1 = SAO, DAO, RESERVE TRACK * -1 = SAO, DAO, RESERVE TRACK
*/ */
int do_tao; int do_tao;
/* Whether to fsync() stdio_drives after isoburn_activate_session() */ /* Whether to fsync() stdio_drives after isoburn_activate_session() */
int do_fsync; int do_fsync;
}; };
/* Alignment for session starts on overwriteable media. /* Alignment for session starts on overwritable media.
(Increased from 16 to 32 blocks for aligning to BD-RE clusters.) (Increased from 16 to 32 blocks for aligning to BD-RE clusters.)
*/ */
#define Libisoburn_nwa_alignemenT 32 #define Libisoburn_nwa_alignemenT 32
/* Alignment for outer session scanning with -ROM drives. /* Alignment for outer session scanning with -ROM drives.
(E.g. my DVD-ROM drive shows any DVD type as 0x10 "DVD-ROM" with (E.g. my DVD-ROM drive shows any DVD type as 0x10 "DVD-ROM" with
more or less false capacity and TOC.) more or less false capacity and TOC.)
*/ */
#define Libisoburn_toc_scan_alignemenT 16 #define Libisoburn_toc_scan_alignemenT 16
skipping to change at line 779 skipping to change at line 786
written by random access before they were written sequentially. written by random access before they were written sequentially.
In this case, no copy of the session 1 header is maintained and no TOC In this case, no copy of the session 1 header is maintained and no TOC
will be possible. Thus writing begins sequentially at LBA 0. will be possible. Thus writing begins sequentially at LBA 0.
IMPORTANT: This macro gives the minimal size of an image header. IMPORTANT: This macro gives the minimal size of an image header.
It has to be enlarged by the eventual partition offset. It has to be enlarged by the eventual partition offset.
*/ */
#define Libisoburn_overwriteable_starT \ #define Libisoburn_overwriteable_starT \
((off_t) (Libisoburn_target_head_sizE/2048)) ((off_t) (Libisoburn_target_head_sizE/2048))
/* Wrappers for emulation of TOC on overwriteable media */ /* Wrappers for emulation of TOC on overwritable media */
struct isoburn_toc_track { struct isoburn_toc_track {
/* Either track or toc_entry are supposed to be NULL */ /* Either track or toc_entry are supposed to be NULL */
struct burn_track *track; struct burn_track *track;
struct isoburn_toc_entry *toc_entry; struct isoburn_toc_entry *toc_entry;
}; };
struct isoburn_toc_session { struct isoburn_toc_session {
/* Either session or tracks and toc_entry are supposed to be NULL */ /* Either session or tracks and toc_entry are supposed to be NULL */
struct burn_session *session; struct burn_session *session;
 End of changes. 12 change blocks. 
10 lines changed or deleted 17 lines changed or added

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