Adaptions to revision 241 of nglibisofs

This commit is contained in:
Thomas Schmitt 2008-01-19 09:05:13 +00:00
parent dac5a4b801
commit 27c6d40fc9
7 changed files with 70 additions and 14 deletions

View File

@ -256,14 +256,15 @@ int isoburn_prepare_disc_aux(struct burn_drive *d, struct burn_disc **disc,
wopts.level = opts->level;
wopts.rockridge = opts->rockridge;
wopts.joliet = opts->joliet;
wopts.iso1999 = opts->iso1999;
wopts.omit_version_numbers = opts->omit_version_numbers;
wopts.allow_deep_paths = opts->allow_deep_paths;
wopts.allow_longer_paths = opts->allow_longer_paths;
wopts.max_37_char_filenames = opts->max_37_char_filenames;
wopts.no_force_dots = opts->no_force_dots;
wopts.allow_lowercase = opts->allow_lowercase;
wopts.allow_full_ascii = opts->allow_full_ascii;
wopts.joliet_longer_paths = opts->joliet_longer_paths;
/* wopts.copy_eltorito = opts->copy_eltorito; */
wopts.sort_files = opts->sort_files;
wopts.replace_dir_mode = opts->replace_dir_mode;
wopts.replace_file_mode = opts->replace_file_mode;

View File

@ -161,6 +161,7 @@ int isoburn_read_image(struct burn_drive *d,
return -2;
ropts.norock = read_opts->norock;
ropts.nojoliet = read_opts->nojoliet;
ropts.noiso1999 = read_opts->noiso1999;
ropts.preferjoliet = read_opts->preferjoliet;
ropts.mode = read_opts->mode;
ropts.uid = read_opts->uid;
@ -181,6 +182,8 @@ int isoburn_read_image(struct burn_drive *d,
read_opts->hasRR = features.hasRR;
read_opts->hasJoliet = features.hasJoliet;
read_opts->hasIso1999 = features.hasIso1999;
read_opts->hasElTorito = features.hasElTorito;
read_opts->size = features.size;
return 1;
}

View File

@ -90,6 +90,7 @@ void isoburn_disc_erase(struct burn_drive *drive, int fast);
struct isoburn_read_opts {
unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
unsigned int preferjoliet:1;
/*< When both Joliet and RR extensions are present, the RR
* tree is used. If you prefer using Joliet, set this to 1. */
@ -107,6 +108,16 @@ struct isoburn_read_opts {
to 0 if not. */
unsigned int hasJoliet:1; /*< It will be set to 1 if Joliet extensions are
present, to 0 if not. */
/**
* It will be set to 1 if the image is an ISO 9660:1999, i.e. it has
* a version 2 Enhanced Volume Descriptor.
*/
unsigned int hasIso1999:1;
/** It will be set to 1 if El-Torito boot record is present, to 0 if not.*/
unsigned int hasElTorito:1;
uint32_t size; /**< Will be filled with the size (in 2048 byte block) of
* the image, as reported in the PVM. */
unsigned int pretend_blank:1; /* always create empty image */
@ -120,34 +131,70 @@ struct isoburn_source_opts {
/* Options for image generation */
int level; /**< ISO level to write at. */
int flags; /**< Which extensions to support. */
int relaxed_constraints; /**< see ecma119_relaxed_constraints_flag */
/** Which extensions to support. */
unsigned int rockridge :1;
unsigned int joliet :1;
unsigned int iso1999 :1;
/* relaxed constraints */
/*
* Relaxed constraints. Setting any of these to 1 break the specifications,
* but it is supposed to work on most moderns systems. Use with caution.
*/
/**
* Omit the version number (";1") at the end of the ISO-9660 identifiers.
* Version numbers are usually not used.
*/
unsigned int omit_version_numbers :1;
/**
* Allow ISO-9660 directory hierarchy to be deeper than 8 levels.
*/
unsigned int allow_deep_paths :1;
/**
* Allow path in the ISO-9660 tree to have more than 255 characters.
*/
unsigned int allow_longer_paths :1;
/**
* 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.
*/
unsigned int max_37_char_filenames :1;
/**
* 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
*/
unsigned int no_force_dots :1;
/**
* Allow lowercase characters in ISO-9660 filenames. By default, only
* uppercase characters, numbers and a few other characters are allowed.
*/
unsigned int allow_lowercase :1;
/**
* Allow all ASCII characters to be appear on an ISO-9660 filename. Note
* that "/" and "\0" characters are never allowed, even in RR names.
*/
unsigned int allow_full_ascii :1;
/**
* Allow paths in the Joliet tree to have more than 240 characters.
*/
unsigned int joliet_longer_paths :1;
unsigned int sort_files:1;
/**< If files should be sorted based on their weight. */
unsigned int copy_eltorito:1;
/**<
* In multisession discs, select whether to copy el-torito catalog
* and boot image. Copy is needed for isolinux images, that need to
* be patched. However, it can lead to problems when the image is
* not present in the iso filesystem, because we can't figure out
* its size. In those cases, we only copy 1 block of data.
*/
/**
* 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.

View File

@ -75,6 +75,7 @@ then
libisofs="$libisofs $isofs"/fs_local.o
libisofs="$libisofs $isofs"/fsource.o
libisofs="$libisofs $isofs"/image.o
libisofs="$libisofs $isofs"/iso1999.o
libisofs="$libisofs $isofs"/joliet.o
libisofs="$libisofs $isofs"/libiso_msgs.o
libisofs="$libisofs $isofs"/messages.o

View File

@ -355,6 +355,7 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
memset(&ropts, sizeof(ropts), 0);
ropts.norock= 0;
ropts.nojoliet= 0;
ropts.noiso1999= 1;
ropts.preferjoliet= 0;
ropts.uid= 0;
ropts.gid= 0;
@ -511,14 +512,15 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
sopts.level= 2;
sopts.rockridge= 1;
sopts.joliet= !!xorriso->do_joliet;
sopts.iso1999= 0;
sopts.omit_version_numbers= 0;
sopts.allow_deep_paths= 1;
sopts.allow_longer_paths= 0;
sopts.max_37_char_filenames= 0;
sopts.no_force_dots= 0;
sopts.allow_lowercase= 0;
sopts.allow_full_ascii= 0;
sopts.joliet_longer_paths= 0;
sopts.copy_eltorito= 1;
sopts.sort_files= 1;
sopts.replace_dir_mode= 2*!!xorriso->do_global_mode;
sopts.dir_mode= xorriso->global_dir_mode;

View File

@ -47,6 +47,8 @@ xorriso_xorriso_SOURCES = \
libisofs/tree.c \
libisofs/image.h \
libisofs/image.c \
libisofs/iso1999.h \
libisofs/iso1999.c \
libisofs/fsource.h \
libisofs/fsource.c \
libisofs/fs_local.c \

View File

@ -1 +1 @@
#define Xorriso_timestamP "2008.01.18.101933"
#define Xorriso_timestamP "2008.01.19.090417"