xorriso  1.5.4.pl02
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.
  Fossies Dox: xorriso-1.5.4.pl02.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

isoburn.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  isoburn_toc_entry
 
struct  isoburn
 
struct  isoburn_read_opts
 
struct  isoburn_imgen_opts
 
struct  isoburn_toc_track
 
struct  isoburn_toc_session
 
struct  isoburn_toc_disc
 

Macros

#define Libisoburn_target_head_sizE   (32*2048)
 
#define Libisoburn_max_appended_partitionS   8
 
#define Libisoburn_disc_label_sizE   129
 
#define Libisoburn_default_cache_tileS   32
 
#define Libisoburn_default_tile_blockS   32
 
#define Libisoburn_cache_max_sizE   (1024 * 512)
 
#define Libisoburn_nwa_alignemenT   32
 
#define Libisoburn_toc_scan_alignemenT   16
 
#define Libisoburn_toc_scan_max_gaP   65536
 
#define Libisoburn_overwriteable_starT    ((off_t) (Libisoburn_target_head_sizE/2048))
 

Functions

int isoburn_toc_entry_new (struct isoburn_toc_entry **objpt, struct isoburn_toc_entry *boss, int flag)
 
int isoburn_toc_entry_destroy (struct isoburn_toc_entry **o, int flag)
 
int isoburn_new (struct isoburn **objpt, int flag)
 
int isoburn_destroy (struct isoburn **objpt, int flag)
 
int isoburn_get_emulation_mode (struct isoburn *o, int *pt, int flag)
 
int isoburn_get_target_volset (struct isoburn *o, IsoImage **pt, int flag)
 
int isoburn_get_prev (struct isoburn *o, struct isoburn **pt, int flag)
 
int isoburn_get_next (struct isoburn *o, struct isoburn **pt, int flag)
 
int isoburn_destroy_all (struct isoburn **objpt, int flag)
 
int isoburn_link (struct isoburn *o, struct isoburn *link, int flag)
 
int isoburn_count (struct isoburn *o, int flag)
 
int isoburn_by_idx (struct isoburn *o, int idx, struct isoburn **pt, int flag)
 
int isoburn_find_by_drive (struct isoburn **pt, struct burn_drive *d, int flag)
 
int isoburn_report_iso_error (int iso_error_code, char default_msg_text[], int os_errno, char min_severity[], int flag)
 
int isoburn_start_emulation (struct isoburn *o, int flag)
 
int isoburn_invalidate_iso (struct isoburn *o, int flag)
 
int isoburn_find_emulator (struct isoburn **pt, struct burn_drive *drive, int flag)
 
int isoburn_msgs_submit (struct isoburn *o, int error_code, char msg_text[], int os_errno, char severity[], int flag)
 
int isoburn_set_start_byte (struct isoburn *o, off_t value, int flag)
 
int isoburn_get_msc2 (struct isoburn *o, struct burn_write_opts *opts, int *msc2, int flag)
 
IsoDataSourceisoburn_data_source_new (struct burn_drive *d, uint32_t displacement, int displacement_sign, int cache_tiles, int tile_blocks)
 
int isoburn_data_source_shutdown (IsoDataSource *src, int flag)
 
int isoburn_adjust_target_iso_head (struct isoburn *o, uint32_t offst, int flag)
 
int isoburn_root_defaults (IsoImage *image, int flag)
 

Macro Definition Documentation

◆ Libisoburn_cache_max_sizE

#define Libisoburn_cache_max_sizE   (1024 * 512)

Maximum size of the cache in 2 kB blocks (1 GB)

Definition at line 283 of file isoburn.h.

◆ Libisoburn_default_cache_tileS

#define Libisoburn_default_cache_tileS   32

Default settings for above cache_tiles, tile_blocks in newly created struct isoburn_read_opts.

Definition at line 278 of file isoburn.h.

◆ Libisoburn_default_tile_blockS

#define Libisoburn_default_tile_blockS   32

Definition at line 279 of file isoburn.h.

◆ Libisoburn_disc_label_sizE

#define Libisoburn_disc_label_sizE   129

Definition at line 62 of file isoburn.h.

◆ Libisoburn_max_appended_partitionS

#define Libisoburn_max_appended_partitionS   8

Definition at line 57 of file isoburn.h.

◆ Libisoburn_nwa_alignemenT

#define Libisoburn_nwa_alignemenT   32

Definition at line 778 of file isoburn.h.

◆ Libisoburn_overwriteable_starT

#define Libisoburn_overwriteable_starT    ((off_t) (Libisoburn_target_head_sizE/2048))

Definition at line 811 of file isoburn.h.

◆ Libisoburn_target_head_sizE

#define Libisoburn_target_head_sizE   (32*2048)

Definition at line 51 of file isoburn.h.

◆ Libisoburn_toc_scan_alignemenT

#define Libisoburn_toc_scan_alignemenT   16

Definition at line 785 of file isoburn.h.

◆ Libisoburn_toc_scan_max_gaP

#define Libisoburn_toc_scan_max_gaP   65536

Definition at line 792 of file isoburn.h.

Function Documentation

◆ isoburn_adjust_target_iso_head()

int isoburn_adjust_target_iso_head ( struct isoburn o,
uint32_t  offst,
int  flag 
)

Check whether the size of target_iso_head matches the given partition offset. Eventually adjust size.

Definition at line 368 of file isoburn.c.

References isoburn_msgs_submit(), Libisoburn_overwriteable_starT, Libisoburn_target_head_sizE, isoburn::nwa, isoburn::target_iso_head, isoburn::target_iso_head_size, and isoburn::zero_nwa.

Referenced by isoburn_inspect_partition(), and isoburn_make_iso_write_opts().

◆ isoburn_by_idx()

int isoburn_by_idx ( struct isoburn o,
int  idx,
struct isoburn **  pt,
int  flag 
)

Definition at line 302 of file isoburn.c.

References isoburn::next, and isoburn::prev.

◆ isoburn_count()

int isoburn_count ( struct isoburn o,
int  flag 
)

Definition at line 289 of file isoburn.c.

References isoburn::next, and isoburn::prev.

◆ isoburn_data_source_new()

IsoDataSource* isoburn_data_source_new ( struct burn_drive d,
uint32_t  displacement,
int  displacement_sign,
int  cache_tiles,
int  tile_blocks 
)

Get a data source suitable for read from a drive using burn_read_data() function.

Parameters
ddrive to read from. Must be grabbed.
displacementwill be added or subtracted to any block address
displacement_sign+1 = add , -1= subtract , else keep unaltered
Returns
the data source, NULL on error. Must be freed with libisofs iso_data_source_unref() function. Note: this doesn't release the drive.

Definition at line 325 of file data_source.c.

References iso_data_source::close, iso_data_source::data, isoburn_cached_drive::displacement, isoburn_cached_drive::displacement_sign, ds_close(), ds_free_data(), ds_open(), ds_read_block(), iso_data_source::free_data, isoburn_cached_drive_new(), iso_data_source::open, iso_data_source::read_block, iso_data_source::refcount, isoburn_cached_drive::tile_blocks, and iso_data_source::version.

Referenced by isoburn_read_image().

◆ isoburn_data_source_shutdown()

int isoburn_data_source_shutdown ( IsoDataSource src,
int  flag 
)

Disable read capabilities of a data source which was originally created by isoburn_data_source_new(). After this any attempt to read will yield a FATAL programming error event. This is usually done to allow libburn to release the drive while libisofs still holds a reference to the data source object. libisofs is not supposed to use this object for reading any more, nevertheless. The disabled state of the data source is a safety fence around this daring situation.

Parameters
srcThe data source to be disabled
flagunused yet
Returns
<=0 is failure , >0 success

Definition at line 313 of file data_source.c.

References iso_data_source::data, and isoburn_cached_drive::drive.

Referenced by isoburn_prepare_disc_aux().

◆ isoburn_destroy()

◆ isoburn_destroy_all()

int isoburn_destroy_all ( struct isoburn **  objpt,
int  flag 
)

Definition at line 213 of file isoburn.c.

References isoburn_destroy(), isoburn::next, and isoburn::prev.

Referenced by isoburn_finish(), and isoburn_initialize().

◆ isoburn_find_by_drive()

int isoburn_find_by_drive ( struct isoburn **  pt,
struct burn_drive d,
int  flag 
)

Definition at line 326 of file isoburn.c.

References isoburn::drive, isoburn_list_start, and isoburn::next.

Referenced by isoburn_disc_get_status().

◆ isoburn_find_emulator()

int isoburn_find_emulator ( struct isoburn **  pt,
struct burn_drive drive,
int  flag 
)

Get an eventual isoburn object which is wrapped around the drive.

Parameters
ptEventually returns a pointer to the found object. It is allowed to become NULL if return value is -1 or 0. In this case, the drive is a genuine libburn drive with no emulation activated by isoburn.
driveThe drive to be searched for
flagunused yet
Returns
-1 unsuitable medium, 0 generic medium, 1 emulated medium.

Retrieve medium emulation and eventual isoburn emulator of drive.

Returns
-1 unsuitable medium, 0 generic medium, 1 emulated medium.

Definition at line 627 of file burn_wrap.c.

Referenced by isoburn_activate_session(), isoburn_attach_image(), isoburn_attach_start_lba(), isoburn_cancel_prepared_write(), isoburn_disc_available_space(), isoburn_disc_erasable(), isoburn_disc_erase(), isoburn_disc_get_msc1(), isoburn_disc_pretend_full_uncond(), isoburn_disc_track_lba_nwa(), isoburn_disc_write(), isoburn_drive_aquire(), isoburn_drive_release(), isoburn_drive_set_msgs_submit(), isoburn_drive_wrote_well(), isoburn_emulate_toc(), isoburn_get_attached_image(), isoburn_get_attached_start_lba(), isoburn_get_fifo_status(), isoburn_get_img_partition_offset(), isoburn_get_min_start_byte(), isoburn_get_mount_params(), isoburn_needs_emulation(), isoburn_prepare_blind_grow(), isoburn_prepare_disc_aux(), isoburn_read_image(), isoburn_read_iso_head(), isoburn_set_msc1(), isoburn_set_read_pacifier(), isoburn_set_truncate(), isoburn_toc_drive_get_disc(), and isoburn_welcome_media().

◆ isoburn_get_emulation_mode()

int isoburn_get_emulation_mode ( struct isoburn o,
int *  pt,
int  flag 
)

◆ isoburn_get_msc2()

int isoburn_get_msc2 ( struct isoburn o,
struct burn_write_opts opts,
int *  msc2,
int  flag 
)

Obtains the image address offset to be used with image generation. This is either the (emulated) drive nwa or a value set by isoburn_prepare_blind_grow(). In any case this is the address to tell to iso_write_opts_set_ms_block().

Parameters
oThe isoburn object to be inquired
optsIf not NULL: write parameters to be set on drive before query
msc2The value to be used with iso_write_opts_set_ms_block()
flagunused yet
Returns
<=0 is failure , >0 success

Definition at line 865 of file burn_wrap.c.

References isoburn::drive, isoburn::fabricated_msc2, isoburn_disc_track_lba_nwa(), and isoburn::nwa.

Referenced by isoburn_make_iso_write_opts().

◆ isoburn_get_next()

int isoburn_get_next ( struct isoburn o,
struct isoburn **  pt,
int  flag 
)

Definition at line 244 of file isoburn.c.

References isoburn::next.

◆ isoburn_get_prev()

int isoburn_get_prev ( struct isoburn o,
struct isoburn **  pt,
int  flag 
)

Definition at line 237 of file isoburn.c.

References isoburn::prev.

◆ isoburn_get_target_volset()

int isoburn_get_target_volset ( struct isoburn o,
IsoImage **  pt,
int  flag 
)

◆ isoburn_invalidate_iso()

int isoburn_invalidate_iso ( struct isoburn o,
int  flag 
)

Alters and writes the first 64 kB of a "medium" to invalidate an ISO image. (It shall stay restorable by skilled humans, though). The result shall especially keep libisoburn from accepting the medium image as ISO filesystem.

Parameters
oA fully activated isoburn object. isoburn_start_emulation() was already called.
Returns
<=0 error , 1 = success

Definition at line 673 of file isofs_wrap.c.

References isoburn::drive, isoburn_activate_session(), and isoburn::target_iso_head.

Referenced by isoburn_disc_erase().

◆ isoburn_link()

int isoburn_link ( struct isoburn o,
struct isoburn link,
int  flag 
)

Definition at line 251 of file isoburn.c.

References isoburn_list_start, isoburn::next, and isoburn::prev.

Referenced by isoburn_new().

◆ isoburn_msgs_submit()

◆ isoburn_new()

◆ isoburn_report_iso_error()

int isoburn_report_iso_error ( int  iso_error_code,
char  default_msg_text[],
int  os_errno,
char  min_severity[],
int  flag 
)

◆ isoburn_root_defaults()

int isoburn_root_defaults ( IsoImage image,
int  flag 
)

Initialize the root directory attributes of a freshly created image.

Definition at line 129 of file isofs_wrap.c.

References isoburn::image, iso_image_get_root(), and iso_node_set_permissions().

Referenced by isoburn_new(), and isoburn_read_image().

◆ isoburn_set_start_byte()

int isoburn_set_start_byte ( struct isoburn o,
off_t  value,
int  flag 
)

Set the start address for an emulated add-on session. The value will be rounded up to the alignment necessary for the medium. The aligned value will be divided by 2048 and then put into o->nwa .

Parameters
oThe isoburn object to be programmed.
valueThe start address in bytes
flagunused yet
Returns
<=0 is failure , >0 success

Definition at line 1081 of file burn_wrap.c.

References burn_disc_free_multi_caps(), burn_disc_get_multi_caps(), BURN_WRITE_NONE, isoburn::drive, isoburn_msgs_submit(), Libisoburn_nwa_alignemenT, isoburn::min_start_byte, isoburn::nwa, burn_multi_caps::start_adr, burn_multi_caps::start_alignment, and isoburn::zero_nwa.

Referenced by isoburn_start_emulation().

◆ isoburn_start_emulation()

◆ isoburn_toc_entry_destroy()

int isoburn_toc_entry_destroy ( struct isoburn_toc_entry **  o,
int  flag 
)

Definition at line 89 of file isoburn.c.

Referenced by isoburn_destroy(), and isoburn_emulate_toc().

◆ isoburn_toc_entry_new()