New read option isoburn_ropt_lfa_only_settable
This commit is contained in:
parent
ffe18475a4
commit
9a42f2a8ae
@ -346,6 +346,9 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
|
|||||||
bit10= if not bit6: accept all xattr namespaces from external
|
bit10= if not bit6: accept all xattr namespaces from external
|
||||||
filesystems, not only "user.".
|
filesystems, not only "user.".
|
||||||
bit11= load lfa_flags (chattr) from external filesystems
|
bit11= load lfa_flags (chattr) from external filesystems
|
||||||
|
bit15= ignore non-settable lfa_flags when importing files from
|
||||||
|
disk and do not record "isofs.fa" if the other flags
|
||||||
|
are all zero
|
||||||
*/
|
*/
|
||||||
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
||||||
int flag)
|
int flag)
|
||||||
@ -391,7 +394,8 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
|
|||||||
(*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag;
|
(*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag;
|
||||||
iso_image_set_ignore_aclea((*o)->image,
|
iso_image_set_ignore_aclea((*o)->image,
|
||||||
((flag >> 5 ) & 3) | ((!!(flag & 1024)) << 3) |
|
((flag >> 5 ) & 3) | ((!!(flag & 1024)) << 3) |
|
||||||
((!!(flag & (1 << 11))) << 2));
|
((!!(flag & (1 << 11))) << 2) |
|
||||||
|
((!!(flag & (1 << 15))) << 5));
|
||||||
|
|
||||||
#ifdef Hardcoded_cd_rW
|
#ifdef Hardcoded_cd_rW
|
||||||
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
|
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
|
||||||
@ -544,6 +548,9 @@ ex:
|
|||||||
bit10= if not bit6: accept all xattr namespaces from external
|
bit10= if not bit6: accept all xattr namespaces from external
|
||||||
filesystems, not only "user.".
|
filesystems, not only "user.".
|
||||||
bit11= load lfa_flags (chattr) from external filesystems
|
bit11= load lfa_flags (chattr) from external filesystems
|
||||||
|
bit15= ignore non-settable lfa_flags when importing files from
|
||||||
|
disk and do not record "isofs.fa" if the other flags
|
||||||
|
are all zero
|
||||||
*/
|
*/
|
||||||
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
|
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
|
||||||
char *adr, int flag)
|
char *adr, int flag)
|
||||||
@ -570,8 +577,8 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
|
|||||||
goto ex;
|
goto ex;
|
||||||
drive_grabbed= 1;
|
drive_grabbed= 1;
|
||||||
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
|
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
|
||||||
(flag & (8 | 16 | 32 | 64 | 128 | 512 | 1024 | (1 << 11))) |
|
(flag & (8 | 16 | 32 | 64 | 128 | 512 | 1024 | (1 << 11) | ( 1 << 15))) |
|
||||||
!!(flag & 2));
|
!!(flag & 2));
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
|
||||||
|
@ -985,6 +985,7 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
|
|||||||
o->do_joliet_map= !!(ext & 16384);
|
o->do_joliet_map= !!(ext & 16384);
|
||||||
o->joliet_map_mode= !!(ext & 32768);
|
o->joliet_map_mode= !!(ext & 32768);
|
||||||
o->lfa_flags= !!(ext & (1 << 16));
|
o->lfa_flags= !!(ext & (1 << 16));
|
||||||
|
o->lfa_only_settable= !!(ext & (1 << 17));
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -996,7 +997,8 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
|
|||||||
((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
|
((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
|
||||||
((!!o->noino) << 8) | ((o->nomd5 & 3) << 9) |
|
((!!o->noino) << 8) | ((o->nomd5 & 3) << 9) |
|
||||||
((!!o->do_ecma119_map) << 11) | ((o->map_mode & 3) << 12) |
|
((!!o->do_ecma119_map) << 11) | ((o->map_mode & 3) << 12) |
|
||||||
((!!o->do_joliet_map) << 14) | ((!!o->joliet_map_mode) << 15);
|
((!!o->do_joliet_map) << 14) | ((!!o->joliet_map_mode) << 15) |
|
||||||
|
((!!o->lfa_flags) << 16) | ((!!o->lfa_only_settable) << 17);
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,8 +335,13 @@ struct isoburn_read_opts {
|
|||||||
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 C40716 */
|
/* ts C40716 */
|
||||||
unsigned int lfa_flags:1; /* Read Linux file attribute flags (chattr) */
|
unsigned int lfa_flags:1; /* Read Linux file attribute flags (chattr)
|
||||||
|
from external filesystem objects
|
||||||
|
*/
|
||||||
|
/* ts C40826 */
|
||||||
|
unsigned int lfa_only_settable:1; /* Ignore non-settable flags from
|
||||||
|
from external filesystem objects
|
||||||
|
*/
|
||||||
/* ts A90508 */
|
/* ts A90508 */
|
||||||
unsigned int noino:1; /* Discard eventual PX inode numbers */
|
unsigned int noino:1; /* Discard eventual PX inode numbers */
|
||||||
|
|
||||||
|
@ -354,7 +354,8 @@ create_blank_image:;
|
|||||||
goto create_blank_image;
|
goto create_blank_image;
|
||||||
}
|
}
|
||||||
iso_image_set_ignore_aclea(o->image, read_opts->noacl | (read_opts->noea << 1)
|
iso_image_set_ignore_aclea(o->image, read_opts->noacl | (read_opts->noea << 1)
|
||||||
| (read_opts->lfa_flags << 2));
|
| (read_opts->lfa_flags << 2)
|
||||||
|
| (read_opts->lfa_only_settable << 5));
|
||||||
|
|
||||||
/* Important: do not return until iso_read_opts_free() */
|
/* Important: do not return until iso_read_opts_free() */
|
||||||
|
|
||||||
|
@ -462,6 +462,9 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
|
|||||||
This can later be overriden by isoburn_read_image()
|
This can later be overriden by isoburn_read_image()
|
||||||
according to its isoburn_read_opts.
|
according to its isoburn_read_opts.
|
||||||
@since 1.5.8
|
@since 1.5.8
|
||||||
|
bit15= ignore non-settable lfa_flags when importing files from
|
||||||
|
disk and do not record "isofs.fa" if the other flags
|
||||||
|
are all zero
|
||||||
@return 1 = success , 0 = drive not found , <0 = other error
|
@return 1 = success , 0 = drive not found , <0 = other error
|
||||||
|
|
||||||
Please excuse the typo "aquire" in the function name.
|
Please excuse the typo "aquire" in the function name.
|
||||||
@ -927,8 +930,9 @@ int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o,
|
|||||||
int *set_flag, int flag);
|
int *set_flag, int flag);
|
||||||
|
|
||||||
|
|
||||||
/** Which existing ISO 9660 extensions in the image to read or not to read.
|
/** Which existing ISO 9660 extensions in the image or in external filesystems
|
||||||
Whether to read the content of an existing image at all.
|
to read or not to read, and whether to read the content of an existing
|
||||||
|
image at all.
|
||||||
The bits can be combined by | and inquired by &.
|
The bits can be combined by | and inquired by &.
|
||||||
@since 0.1.0
|
@since 0.1.0
|
||||||
@param ext Bitfield:
|
@param ext Bitfield:
|
||||||
@ -1005,7 +1009,11 @@ int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o,
|
|||||||
external filesystem objects (e.g. local filesystem files).
|
external filesystem objects (e.g. local filesystem files).
|
||||||
This overrides the setting by isoburn_drive_aquire().
|
This overrides the setting by isoburn_drive_aquire().
|
||||||
@since 1.5.8
|
@since 1.5.8
|
||||||
|
bit17= lfa_only_settable
|
||||||
|
gnore non-settable lfa_flags when importing files from
|
||||||
|
external filesystem objects (e.g. local filesystem files).
|
||||||
|
This overrides the setting by isoburn_drive_aquire().
|
||||||
|
@since 1.5.8
|
||||||
@return 1 success, <=0 failure
|
@return 1 success, <=0 failure
|
||||||
*/
|
*/
|
||||||
#define isoburn_ropt_norock 1
|
#define isoburn_ropt_norock 1
|
||||||
@ -1025,7 +1033,8 @@ int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o,
|
|||||||
#define isoburn_ropt_map_lowercase ( 2048 | 12288 )
|
#define isoburn_ropt_map_lowercase ( 2048 | 12288 )
|
||||||
#define isoburn_ropt_joliet_unmapped ( 16384 | 0)
|
#define isoburn_ropt_joliet_unmapped ( 16384 | 0)
|
||||||
#define isoburn_ropt_joliet_stripped ( 16384 | 32768)
|
#define isoburn_ropt_joliet_stripped ( 16384 | 32768)
|
||||||
#define isoburn_ropt_lfa_flags (1 << 16)
|
#define isoburn_ropt_lfa_flags (1 << 16)
|
||||||
|
#define isoburn_ropt_lfa_only_settable (1 << 17)
|
||||||
|
|
||||||
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
|
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
|
||||||
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
|
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2024.08.28.143041"
|
#define Xorriso_timestamP "2024.08.30.222518"
|
||||||
|
Loading…
Reference in New Issue
Block a user