libisoburn  1.5.4
About: libisoburn is a frontend for the libraries libburn and libisofs which enables creation and expansion of ISO-9660 filesystems on all media and file types supported by libburn. It implements the API and command interpreter of program xorriso, and installs this program as small dynamically linked binary. xorriso is suitable for incremental data backup and for production of bootable ISO 9660 images. A statically linked version is available as GNU xorriso.
  Fossies Dox: libisoburn-1.5.4.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

isoburn_imgen_opts Struct Reference

Options for image generation by libisofs and image transport to libburn. More...

#include <isoburn.h>

Data Fields

int will_cancel:1
 
int level
 ISO level to write at. More...
 
unsigned int rockridge:1
 Which extensions to support. More...
 
unsigned int joliet:1
 
unsigned int iso1999:1
 
unsigned int hfsplus:1
 
unsigned int fat:1
 
unsigned int hardlinks:1
 
unsigned int aaip:1
 
unsigned int session_md5:1
 
unsigned int file_md5:2
 
unsigned int no_emul_toc:1
 
unsigned int old_empty:1
 
unsigned int untranslated_name_len
 
unsigned int allow_dir_id_ext:1
 
unsigned int omit_version_numbers:2
 Omit the version number (";1") at the end of the ISO-9660 identifiers. More...
 
unsigned int allow_deep_paths:1
 Allow ISO-9660 directory hierarchy to be deeper than 8 levels. More...
 
char * rr_reloc_dir
 If not allow_deep_paths is in effect, then it may become necessary to relocate directories so that no ECMA-119 file path has more than 8 components. More...
 
int rr_reloc_flags
 
unsigned int allow_longer_paths:1
 Allow path in the ISO-9660 tree to have more than 255 characters. More...
 
unsigned int max_37_char_filenames:1
 Allow a single file or directory hierarchy to have up to 37 characters. More...
 
unsigned int no_force_dots:2
 ISO-9660 forces filenames to have a ".", that separates file name from extension. More...
 
unsigned int allow_lowercase:1
 Allow lowercase characters in ISO-9660 filenames. More...
 
unsigned int allow_full_ascii:1
 Allow all ASCII characters to be appear on an ISO-9660 filename. More...
 
unsigned int allow_7bit_ascii:1
 Like allow_full_ascii, but only allowing 7-bit characters. More...
 
unsigned int joliet_longer_paths:1
 Allow paths in the Joliet tree to have more than 240 characters. More...
 
unsigned int joliet_long_names:1
 Allow leaf names in the Joliet tree to have up to 103 characters rather than 64. More...
 
unsigned int joliet_utf16:1
 Use UTF-16BE rather than its subset UCS-2. More...
 
unsigned int always_gmt:1
 Store timestamps as GMT rather than in local time. More...
 
unsigned int rrip_version_1_10:1
 Write Rock Ridge info as of specification RRIP-1.10 rather than RRIP-1.12: signature "RRIP_1991A" rather than "IEEE_1282", field PX without file serial number. More...
 
unsigned int dir_rec_mtime:1
 Store as ECMA-119 Directory Record timestamp the mtime of the source rather than the image creation time. More...
 
unsigned int joliet_rec_mtime:1
 
unsigned int iso1999_rec_mtime:1
 
unsigned int aaip_susp_1_10:1
 Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12. More...
 
unsigned int sort_files:1
 If files should be sorted based on their weight. More...
 
unsigned int replace_dir_mode:2
 The following options set the default values for files and directory permissions, gid and uid. More...
 
unsigned int replace_file_mode:2
 
unsigned int replace_uid:2
 
unsigned int replace_gid:2
 
mode_t dir_mode
 
mode_t file_mode
 Mode to use on dirs when replace_dir_mode == 2. More...
 
uid_t uid
 Mode to use on files when replace_file_mode == 2. More...
 
gid_t gid
 uid to use when replace_uid == 2. More...
 
char * output_charset
 gid to use when replace_gid == 2. More...
 
int fifo_size
 The number of bytes to be used for the fifo which decouples libisofs and libburn for better throughput and for reducing the risk of interrupting signals hitting the libburn thread which operates the MMC drive. More...
 
int effective_lba
 Output value: Block address of session start as evaluated from medium and other options by libisoburn and libburn. More...
 
int data_start_lba
 Output value: Block address of data section start as predicted by libisofs. More...
 
char scdbackup_tag_name [81]
 If not empty: Parameters "name" and "timestamp" for a scdbackup stream checksum tag. More...
 
char scdbackup_tag_time [19]
 
char * scdbackup_tag_written
 
char * system_area_data
 
int system_area_options
 
time_t vol_creation_time
 
time_t vol_modification_time
 
time_t vol_expiration_time
 
time_t vol_effective_time
 
char vol_uuid [17]
 
uint32_t partition_offset
 
int partition_secs_per_head
 
int partition_heads_per_cyl
 
void * libjte_handle
 
uint32_t tail_blocks
 
char * prep_partition
 
int prep_part_flag
 
char * efi_boot_partition
 
int efi_boot_part_flag
 
char * appended_partitions [8]
 
uint8_t appended_part_types [8]
 
int appended_part_flags [8]
 
uint8_t appended_part_type_guids [8][16]
 
uint8_t appended_part_gpt_flags [8]
 
int appended_as_gpt
 
int appended_as_apm
 
int part_like_isohybrid
 
int iso_mbr_part_type
 
uint8_t iso_gpt_type_guid [16]
 
int iso_gpt_flag
 
uint8_t gpt_guid [16]
 
int gpt_guid_mode
 
char ascii_disc_label [129]
 
uint8_t hfsp_serial_number [8]
 
int hfsp_block_size
 
int apm_block_size
 
int do_tao
 
int do_fsync
 

Detailed Description

Options for image generation by libisofs and image transport to libburn.

(Comments here may be outdated. API getter/setter function descriptions may override the descriptions here. Any difference is supposed to be a minor correction only.)

Definition at line 409 of file isoburn.h.

Field Documentation

◆ aaip

unsigned int isoburn_imgen_opts::aaip

◆ aaip_susp_1_10

unsigned int isoburn_imgen_opts::aaip_susp_1_10

Write AAIP as extension according to SUSP 1.10 rather than SUSP 1.12.

I.e. without announcing it by an ER field and thus without the need to precede the RRIP fields by an ES and to precede the AA field by ES.

Definition at line 586 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ allow_7bit_ascii

unsigned int isoburn_imgen_opts::allow_7bit_ascii

Like allow_full_ascii, but only allowing 7-bit characters.

Lowercase letters get mapped to uppercase if not allow_lowercase is set. Gets overridden if allow_full_ascii is enabled.

Definition at line 542 of file isoburn.h.

Referenced by isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ allow_deep_paths

unsigned int isoburn_imgen_opts::allow_deep_paths

Allow ISO-9660 directory hierarchy to be deeper than 8 levels.

Definition at line 486 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ allow_dir_id_ext

unsigned int isoburn_imgen_opts::allow_dir_id_ext

◆ allow_full_ascii

unsigned int isoburn_imgen_opts::allow_full_ascii

Allow all ASCII characters to be appear on an ISO-9660 filename.

Note that "/" and "\0" characters are never allowed, even in RR names.

Definition at line 535 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ allow_longer_paths

unsigned int isoburn_imgen_opts::allow_longer_paths

Allow path in the ISO-9660 tree to have more than 255 characters.

Definition at line 506 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ allow_lowercase

unsigned int isoburn_imgen_opts::allow_lowercase

Allow lowercase characters in ISO-9660 filenames.

By default, only uppercase characters, numbers and a few other characters are allowed.

Definition at line 529 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ always_gmt

unsigned int isoburn_imgen_opts::always_gmt

Store timestamps as GMT rather than in local time.

Definition at line 563 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ apm_block_size

int isoburn_imgen_opts::apm_block_size

◆ appended_as_apm

int isoburn_imgen_opts::appended_as_apm

◆ appended_as_gpt

int isoburn_imgen_opts::appended_as_gpt

◆ appended_part_flags

int isoburn_imgen_opts::appended_part_flags[8]

◆ appended_part_gpt_flags

uint8_t isoburn_imgen_opts::appended_part_gpt_flags[8]

◆ appended_part_type_guids

uint8_t isoburn_imgen_opts::appended_part_type_guids[8][16]

◆ appended_part_types

uint8_t isoburn_imgen_opts::appended_part_types[8]

◆ appended_partitions

char* isoburn_imgen_opts::appended_partitions[8]

◆ ascii_disc_label

char isoburn_imgen_opts::ascii_disc_label[129]

◆ data_start_lba

int isoburn_imgen_opts::data_start_lba

Output value: Block address of data section start as predicted by libisofs.

If < 16: Invalid If >=16: Valid block number. Block size is always 2 KiB.

Definition at line 639 of file isoburn.h.

Referenced by isoburn_igopt_get_data_start(), isoburn_igopt_new(), and isoburn_prepare_disc_aux().

◆ dir_mode

mode_t isoburn_imgen_opts::dir_mode

◆ dir_rec_mtime

unsigned int isoburn_imgen_opts::dir_rec_mtime

Store as ECMA-119 Directory Record timestamp the mtime of the source rather than the image creation time.

The same can be ordered for Joliet and ISO 9660:1999

Definition at line 577 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ do_fsync

int isoburn_imgen_opts::do_fsync

◆ do_tao

int isoburn_imgen_opts::do_tao

◆ effective_lba

int isoburn_imgen_opts::effective_lba

Output value: Block address of session start as evaluated from medium and other options by libisoburn and libburn.

If <0 : Invalid If >=0: Valid block number. Block size is always 2 KiB.

Definition at line 632 of file isoburn.h.

Referenced by isoburn_igopt_get_effective_lba(), isoburn_igopt_new(), and isoburn_make_iso_write_opts().

◆ efi_boot_part_flag

int isoburn_imgen_opts::efi_boot_part_flag

◆ efi_boot_partition

char* isoburn_imgen_opts::efi_boot_partition

◆ fat

unsigned int isoburn_imgen_opts::fat

◆ fifo_size

int isoburn_imgen_opts::fifo_size

The number of bytes to be used for the fifo which decouples libisofs and libburn for better throughput and for reducing the risk of interrupting signals hitting the libburn thread which operates the MMC drive.

The size will be rounded up to the next full 2048. Minimum is 64kiB, maximum is 1 GiB (but that is too much anyway).

Definition at line 624 of file isoburn.h.

Referenced by isoburn_igopt_get_fifo_size(), isoburn_igopt_new(), isoburn_igopt_set_fifo_size(), and isoburn_prepare_disc_aux().

◆ file_md5

unsigned int isoburn_imgen_opts::file_md5

◆ file_mode

mode_t isoburn_imgen_opts::file_mode

Mode to use on dirs when replace_dir_mode == 2.

Definition at line 608 of file isoburn.h.

Referenced by isoburn_igopt_get_over_mode(), isoburn_igopt_new(), isoburn_igopt_set_over_mode(), and isoburn_make_iso_write_opts().

◆ gid

gid_t isoburn_imgen_opts::gid

uid to use when replace_uid == 2.

Definition at line 610 of file isoburn.h.

Referenced by isoburn_igopt_get_over_ugid(), isoburn_igopt_new(), isoburn_igopt_set_over_ugid(), and isoburn_make_iso_write_opts().

◆ gpt_guid

uint8_t isoburn_imgen_opts::gpt_guid[16]

◆ gpt_guid_mode

int isoburn_imgen_opts::gpt_guid_mode

◆ hardlinks

unsigned int isoburn_imgen_opts::hardlinks

◆ hfsp_block_size

int isoburn_imgen_opts::hfsp_block_size

◆ hfsp_serial_number

uint8_t isoburn_imgen_opts::hfsp_serial_number[8]

◆ hfsplus

unsigned int isoburn_imgen_opts::hfsplus

◆ iso1999

unsigned int isoburn_imgen_opts::iso1999

◆ iso1999_rec_mtime

unsigned int isoburn_imgen_opts::iso1999_rec_mtime

◆ iso_gpt_flag

int isoburn_imgen_opts::iso_gpt_flag

◆ iso_gpt_type_guid

uint8_t isoburn_imgen_opts::iso_gpt_type_guid[16]

◆ iso_mbr_part_type

int isoburn_imgen_opts::iso_mbr_part_type

◆ joliet

unsigned int isoburn_imgen_opts::joliet

◆ joliet_long_names

unsigned int isoburn_imgen_opts::joliet_long_names

Allow leaf names in the Joliet tree to have up to 103 characters rather than 64.

Definition at line 553 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ joliet_longer_paths

unsigned int isoburn_imgen_opts::joliet_longer_paths

Allow paths in the Joliet tree to have more than 240 characters.

Definition at line 547 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ joliet_rec_mtime

unsigned int isoburn_imgen_opts::joliet_rec_mtime

◆ joliet_utf16

unsigned int isoburn_imgen_opts::joliet_utf16

Use UTF-16BE rather than its subset UCS-2.

Definition at line 558 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ level

int isoburn_imgen_opts::level

ISO level to write at.

Definition at line 415 of file isoburn.h.

Referenced by isoburn_igopt_get_level(), isoburn_igopt_new(), isoburn_igopt_set_level(), and isoburn_make_iso_write_opts().

◆ libjte_handle

void* isoburn_imgen_opts::libjte_handle

◆ max_37_char_filenames

unsigned int isoburn_imgen_opts::max_37_char_filenames

Allow a single file or directory hierarchy to have up to 37 characters.

This is larger than the 31 characters allowed by ISO level 2, and the extra space is taken from the version number, so this also forces omit_version_numbers.

Definition at line 514 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ no_emul_toc

unsigned int isoburn_imgen_opts::no_emul_toc

◆ no_force_dots

unsigned int isoburn_imgen_opts::no_force_dots

ISO-9660 forces filenames to have a ".", that separates file name from extension.

libisofs adds it if original filename doesn't has one. Set this to 1 to prevent this behavior bit0= no forced dot with ECMA-119 bit1= no forced dot with Joliet

Definition at line 523 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ old_empty

unsigned int isoburn_imgen_opts::old_empty

◆ omit_version_numbers

unsigned int isoburn_imgen_opts::omit_version_numbers

Omit the version number (";1") at the end of the ISO-9660 identifiers.

Version numbers are usually not used. bit0= omit version number with ECMA-119 and Joliet bit1= omit version number with Joliet alone

Definition at line 481 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ output_charset

char* isoburn_imgen_opts::output_charset

gid to use when replace_gid == 2.

NULL to use default charset

Definition at line 612 of file isoburn.h.

Referenced by isoburn_igopt_get_out_charset(), isoburn_igopt_new(), isoburn_igopt_set_out_charset(), and isoburn_make_iso_write_opts().

◆ part_like_isohybrid

int isoburn_imgen_opts::part_like_isohybrid

◆ partition_heads_per_cyl

int isoburn_imgen_opts::partition_heads_per_cyl

◆ partition_offset

uint32_t isoburn_imgen_opts::partition_offset

◆ partition_secs_per_head

int isoburn_imgen_opts::partition_secs_per_head

◆ prep_part_flag

int isoburn_imgen_opts::prep_part_flag

◆ prep_partition

char* isoburn_imgen_opts::prep_partition

◆ replace_dir_mode

unsigned int isoburn_imgen_opts::replace_dir_mode

The following options set the default values for files and directory permissions, gid and uid.

All these take one of three values: 0, 1 or 2. If 0, the corresponding attribute will be kept as set in the IsoNode. Unless you have changed it, it corresponds to the value on disc, so it is suitable for backup purposes. If set to 1, the corresponding attrib. will be changed by a default suitable value. Finally, if you set it to 2, the attrib. will be changed with the value specified in the options below. Note that for mode attributes, only the permissions are set, the file type remains unchanged.

Definition at line 602 of file isoburn.h.

Referenced by isoburn_igopt_get_over_mode(), isoburn_igopt_new(), isoburn_igopt_set_over_mode(), and isoburn_make_iso_write_opts().

◆ replace_file_mode

unsigned int isoburn_imgen_opts::replace_file_mode

◆ replace_gid

unsigned int isoburn_imgen_opts::replace_gid

◆ replace_uid

unsigned int isoburn_imgen_opts::replace_uid

◆ rockridge

unsigned int isoburn_imgen_opts::rockridge

Which extensions to support.

Definition at line 418 of file isoburn.h.

Referenced by isoburn_igopt_get_extensions(), isoburn_igopt_new(), isoburn_igopt_set_extensions(), and isoburn_make_iso_write_opts().

◆ rr_reloc_dir

char* isoburn_imgen_opts::rr_reloc_dir

If not allow_deep_paths is in effect, then it may become necessary to relocate directories so that no ECMA-119 file path has more than 8 components.

These directories are grafted into either the root directory of the ISO image or into a dedicated relocation directory. For details see libisofs.h, iso_write_opts_set_rr_reloc().

Definition at line 495 of file isoburn.h.

Referenced by isoburn_igopt_get_rr_reloc(), isoburn_igopt_new(), isoburn_igopt_set_rr_reloc(), and isoburn_make_iso_write_opts().

◆ rr_reloc_flags

int isoburn_imgen_opts::rr_reloc_flags

◆ rrip_version_1_10

unsigned int isoburn_imgen_opts::rrip_version_1_10

Write Rock Ridge info as of specification RRIP-1.10 rather than RRIP-1.12: signature "RRIP_1991A" rather than "IEEE_1282", field PX without file serial number.

Definition at line 570 of file isoburn.h.

Referenced by isoburn_igopt_get_relaxed(), isoburn_igopt_new(), isoburn_igopt_set_relaxed(), and isoburn_make_iso_write_opts().

◆ scdbackup_tag_name

char isoburn_imgen_opts::scdbackup_tag_name[81]

If not empty: Parameters "name" and "timestamp" for a scdbackup stream checksum tag.

See scdbackup/README appendix VERIFY. It makes sense only for single session images which start at LBA 0. Such a tag may be part of a libisofs checksum tag block after the session tag line. It then covers the whole session up to its own start position. If scdbackup_tag_written is not NULL then it is a pointer to an application provided array with at least 512 characters. The effectively written scdbackup tag will be copied to this memory location.

Definition at line 652 of file isoburn.h.

Referenced by isoburn_igopt_get_scdbackup_tag(), isoburn_igopt_set_scdbackup_tag(), and isoburn_make_iso_write_opts().

◆ scdbackup_tag_time

char isoburn_imgen_opts::scdbackup_tag_time[19]

◆ scdbackup_tag_written

char* isoburn_imgen_opts::scdbackup_tag_written

◆ session_md5

unsigned int isoburn_imgen_opts::session_md5

◆ sort_files

unsigned int isoburn_imgen_opts::sort_files

If files should be sorted based on their weight.

Definition at line 588 of file isoburn.h.

Referenced by isoburn_igopt_get_sort_files(), isoburn_igopt_new(), isoburn_igopt_set_sort_files(), and isoburn_make_iso_write_opts().

◆ system_area_data

char* isoburn_imgen_opts::system_area_data

◆ system_area_options

int isoburn_imgen_opts::system_area_options

◆ tail_blocks

uint32_t isoburn_imgen_opts::tail_blocks

◆ uid

uid_t isoburn_imgen_opts::uid

Mode to use on files when replace_file_mode == 2.

Definition at line 609 of file isoburn.h.

Referenced by isoburn_igopt_get_over_ugid(), isoburn_igopt_new(), isoburn_igopt_set_over_ugid(), and isoburn_make_iso_write_opts().

◆ untranslated_name_len

unsigned int isoburn_imgen_opts::untranslated_name_len

◆ vol_creation_time

time_t isoburn_imgen_opts::vol_creation_time

◆ vol_effective_time

time_t isoburn_imgen_opts::vol_effective_time

◆ vol_expiration_time

time_t isoburn_imgen_opts::vol_expiration_time

◆ vol_modification_time

time_t isoburn_imgen_opts::vol_modification_time

◆ vol_uuid

char isoburn_imgen_opts::vol_uuid[17]

◆ will_cancel

int isoburn_imgen_opts::will_cancel

The documentation for this struct was generated from the following file: