Setting chattr "C" and "i" at their proper times during restoring to disk

This commit is contained in:
Thomas Schmitt 2024-08-06 21:32:41 +02:00
parent ce66b6a7e4
commit c0ec40c5d2
10 changed files with 417 additions and 174 deletions

View File

@ -42,6 +42,7 @@
#include "xorriso.h"
#include "xorriso_private.h"
#include "xorrisoburn.h"
/* ---------------------------- SplitparT ------------------------- */
@ -939,10 +940,16 @@ int Linkitem_get_link_count(struct LinkiteM *item, int flag)
struct PermiteM {
char *disk_path;
struct stat stbuf;
int immutable; /* bit0= set chattr immutable bit
bit1= only set immutable bit
*/
struct PermiteM *next;
};
/* @param flag bit0= Linux chattr immutable bit is set
bit1= when popping only set immutable bit
*/
int Permstack_push(struct PermiteM **o, char *disk_path, struct stat *stbuf,
int flag)
{
@ -953,6 +960,7 @@ int Permstack_push(struct PermiteM **o, char *disk_path, struct stat *stbuf,
return(-1);
m->disk_path= NULL;
memcpy(&(m->stbuf), stbuf, sizeof(struct stat));
m->immutable= flag & 3;
m->next= *o;
m->disk_path= strdup(disk_path);
@ -971,6 +979,7 @@ failed:;
/* @param flag bit0= minimal transfer: access permissions only
bit1= do not set timestamps
bit2= do not set chattr flag i "immutable"
*/
int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
struct XorrisO *xorriso, int flag)
@ -992,6 +1001,7 @@ int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
}
for(m= *o; m!=stopper; m= m_next) {
if(!(m->immutable & 2)) {
ret= chmod(m->disk_path, m->stbuf.st_mode);
if(ret==-1) {
if(xorriso!=NULL) {
@ -1003,7 +1013,9 @@ int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
0);
}
}
if(!(flag&1)) {
}
if(!((flag & 1) || (m->immutable & 2))) {
ret= chown(m->disk_path, m->stbuf.st_uid, m->stbuf.st_gid);
/* don't complain if it fails */
if(!(flag&2)) {
@ -1019,6 +1031,10 @@ int Permstack_pop(struct PermiteM **o, struct PermiteM *stopper,
}
}
}
if((m->immutable & 1) && !(flag & 4))
Xorriso_set_local_chattr_i(xorriso, m->disk_path, 0);
m_next= m->next;
free(m->disk_path);
free((char *) m);

View File

@ -107,7 +107,7 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
"Error when obtaining file attribute flags",
os_errno, "FAILURE", 1 | 2);
ret= 0; goto ex;
} else if(ret > 0) {
} else if(ret == 1 || ret == 2) {
ret= iso_node_set_lfa_flags(node, lfa_flags, 0);
if(ret < 0) {
Xorriso_process_msg_queues(xorriso, 0);

View File

@ -2919,7 +2919,9 @@ int Xorriso_warn_if_not_bootcat(struct XorrisO *xorriso, char *prefix,
@param in_node if not NULL and not flag bit1: omit path resolution
@param flag bit1= path is disk_path
bit5= in case of symbolic link on disk: inquire link target
@return <0 = ok , 0= no lfa_flags at node , <0 = libisofs error
@return >0 = ok ,
0 = no lfa_flags at node or disk file,
<0 = libisofs error
*/
int Xorriso_get_lfa_flags(struct XorrisO *xorriso, void *in_node, char *path,
uint64_t *lfa_flags, int *max_bit, int flag)
@ -2959,6 +2961,8 @@ from_disk:;
os_errno, "WARNING", 1);
return(-1);
}
if(ret == 1 || ret == 2)
return(1);
return(0);
}

View File

@ -448,6 +448,8 @@ int Xorriso_report_iso_error(struct XorrisO *xorriso, char *victim,
Xorriso_alloc_meM(sfe, char, 6 * SfileadrL);
Xorriso_process_msg_queues(xorriso, 0);
if(sorry_sev<0)
Xorriso__text_to_sev("SORRY", &sorry_sev, 0);

View File

@ -303,6 +303,105 @@ ex:;
}
int Xorriso_report_chattr_outcome(struct XorrisO *xorriso, char *disk_path,
uint64_t lfa_flags, uint64_t lfa_mask,
int iso_ret, int os_errno, int flag)
{
int ret;
char msg[101], *lfa_text= NULL;
if(iso_ret == 1)
{ret= 1; goto ex;}
ret= iso_util_encode_lfa_flags(lfa_flags & lfa_mask, &lfa_text, 0);
if(lfa_text == NULL)
lfa_text= strdup("-unknown-attributes-");
if(iso_ret < 0) {
strcpy(msg, "Could not set chattr '");
if(lfa_text != NULL)
strcat(msg, lfa_text);
strcat(msg, "'");
Xorriso_report_iso_error(xorriso, disk_path, iso_ret, msg, os_errno,
"FAILURE", 2);
ret= 0; goto ex;
} else if(iso_ret == 2) {
sprintf(xorriso->info_text,
"Could not map all of chattr '%s' to local file attributes of ",
lfa_text);
} else if(iso_ret == 3) {
sprintf(xorriso->info_text, "Will not apply chattr '%s' to symbolic link ",
lfa_text);
} else {
sprintf(xorriso->info_text,
"Unknown return value %d from iso_local_set_lfa_flags() with chattr '%s' to ",
iso_ret, lfa_text);
}
Text_shellsafe(disk_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
ret= 0;
ex:;
if(lfa_text != NULL)
free(lfa_text);
return(ret);
}
uint64_t Xorriso__lfa_bits(char *lfa_text)
{
int ret;
uint64_t lfa_bits;
ret= iso_util_decode_lfa_flags(lfa_text, &lfa_bits, 0);
if(ret < 0)
lfa_bits= 0;
return(lfa_bits);
}
int Xorriso_set_local_chattr_i(struct XorrisO *xorriso, char *disk_path,
int flag)
{
int ret, max_bit= 31, os_errno;
static uint64_t lfa_i= 0xffffffff;
if(lfa_i == 0xffffffff)
lfa_i= Xorriso__lfa_bits("i");
ret= iso_local_set_lfa_flags(disk_path, lfa_i, max_bit, lfa_i, &os_errno, 0);
ret= Xorriso_report_chattr_outcome(xorriso, disk_path, lfa_i, lfa_i,
ret, os_errno, 0);
if(ret <= 0)
return(ret);
return(1);
}
/* If present and enabled: restore chattr i */
int Xorriso_restore_chattr_i(struct XorrisO *xorriso, IsoNode *node,
char *disk_path, int flag)
{
int ret, max_bit;
uint64_t lfa_flags;
static uint64_t lfa_i= 0xffffffff;
if(lfa_i == 0xffffffff)
lfa_i= Xorriso__lfa_bits("i");
if((xorriso->do_aaip & (1 << 12)) && !(xorriso->do_aaip & (1 << 13))) {
ret= iso_node_get_lfa_flags(node, &lfa_flags, &max_bit, 0);
if(ret > 0) {
if(lfa_flags & lfa_i & xorriso->lfa_restore_mask) {
ret= Xorriso_set_local_chattr_i(xorriso, disk_path, 0);
if(ret <= 0)
return(ret);
return(1);
}
}
}
return(2);
}
/* @param flag bit0= minimal transfer: access permissions only
bit1= keep directory open: keep owner, allow rwx for owner
and push directory onto xorriso->perm_stack
@ -319,8 +418,14 @@ int Xorriso_restore_properties(struct XorrisO *xorriso, char *disk_path,
size_t num_attrs= 0, *value_lengths= NULL;
char **names= NULL, **values= NULL;
int *errnos= NULL;
uint64_t lfa_flags;
uint64_t lfa_flags, mask;
int max_bit, os_errno;
static uint64_t lfa_C= 0xffffffff, lfa_i= 0xffffffff;
if(lfa_C == 0xffffffff) {
lfa_C= Xorriso__lfa_bits("C");
lfa_i= Xorriso__lfa_bits("i");
}
ret= lstat(disk_path, &stbuf);
if(ret==-1) {
@ -474,16 +579,25 @@ cannot_set_perm:;
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
{ret= 0; goto ex;}
} else if(ret > 0) {
ret= iso_local_set_lfa_flags(disk_path, lfa_flags, max_bit,
xorriso->lfa_restore_mask, &os_errno,
/* Do not set lfa_flag 'C' here. It would be too late. */
mask= xorriso->lfa_restore_mask & ~lfa_C;
/* Do not set lfa_flag 'i' of a directory here. It would be too early. */
if(is_dir)
mask&= ~lfa_i;
if(mask != 0) {
ret= iso_local_set_lfa_flags(disk_path, lfa_flags, max_bit, mask,
&os_errno,
(!!(xorriso->do_aaip & (1 << 13))) |
((!!(xorriso->do_aaip & (1 << 14))) << 1));
if(ret < 0) {
/* >>> Need adjustable graceful error handling */;
Xorriso_process_msg_queues(xorriso, 0);
{ret= 0; goto ex;}
ret= Xorriso_report_chattr_outcome(xorriso, disk_path,
lfa_flags,
xorriso->lfa_restore_mask & ~lfa_C,
ret, os_errno, 0);
if(ret <= 0)
goto ex;
}
}
}
@ -850,7 +964,7 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
int flag)
{
int ret= 0, write_fd= -1, wanted, wret, open_flags, l_errno= 0;
int target_deleted= 0, buf_size= 32 * 1024;
int target_deleted= 0, buf_size= 32 * 1024, new_empty= 0;
char *what= "[unknown filetype]";
char *buf= NULL, type_text[5], *temp_path= NULL, *buf_pt, *reason;
char *link_target, *open_path_pt= NULL;
@ -867,12 +981,17 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
off_t catsize, iso_node_size, wanted_size, cap;
char disk_md5[16], iso_md5[16];
void *ctx= NULL;
int use_md5= 0, i, sparse_ret= 3;
int use_md5= 0, i, sparse_ret= 3, max_bit, os_errno;
struct Xorriso_sparse_statE *sparse_state= NULL;
uint64_t lfa_flags;
static uint64_t lfa_C= 0xffffffff;
Xorriso_alloc_meM(buf, char, buf_size);
Xorriso_alloc_meM(temp_path, char, SfileadrL);
if(lfa_C == 0xffffffff)
lfa_C= Xorriso__lfa_bits("C");
if(!(flag & 2))
img_offset= bytes= 0;
if(LIBISO_ISDIR(node)) {
@ -911,8 +1030,11 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
}
open_path_pt= disk_path;
ret= stat(open_path_pt, &stbuf);
if(ret == -1 && errno == EACCES && (flag & 128))
if(ret == -1) {
if(errno == EACCES && (flag & 128))
{ret= 4; goto ex;}
new_empty= 1;
}
if(flag&2) {
if(ret != -1) {
wanted_size= disk_offset + bytes;
@ -959,6 +1081,7 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
if(ret <= 0 || ret == 4)
goto ex;
open_path_pt= temp_path;
new_empty= 1;
}
}
if(write_fd==-1) {
@ -972,6 +1095,25 @@ int Xorriso_tree_restore_node(struct XorrisO *xorriso, IsoNode *node,
if(write_fd==-1)
goto cannot_restore;
}
if(new_empty) {
/* If chattr 'C' "no copy-on-write" is present on node and enabled for
restoring, then set it as long as the file is empty, because man chattr
says so for btrfs.
*/
ret= iso_node_get_lfa_flags(node, &lfa_flags, &max_bit, 0);
if(ret > 0) {
if(lfa_flags & lfa_C & xorriso->lfa_restore_mask) {
ret= iso_local_set_lfa_flags(open_path_pt, lfa_C, max_bit, lfa_C,
&os_errno, 0);
ret= Xorriso_report_chattr_outcome(xorriso, open_path_pt,
lfa_C, lfa_C, ret, os_errno, 0);
if(ret <= 0)
goto cannot_restore;
}
}
}
if(ISO_NODE_IS_BOOTCAT(node)) {
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0)
@ -1479,6 +1621,8 @@ int Xorriso_restore_disk_object(struct XorrisO *xorriso,
goto restoring_failed;
if(ret == 4)
goto ex;
if(ret == 2)
{ret= 3; goto ex;}
}
if(first_part_node != NULL && !no_props)
Xorriso_restore_properties(xorriso, disk_path, first_part_node,
@ -1526,6 +1670,8 @@ int Xorriso_restore_disk_object(struct XorrisO *xorriso,
| (no_props << 3));
if(ret == 4)
goto ex;
if(ret == 2)
{ret= 3; goto ex;}
if(ret > 0 && (flag & 8) && !no_props)
ret= Xorriso_restore_properties(xorriso, disk_path, node, 2 | !!(flag&64));
if(ret<=0) {
@ -1537,8 +1683,6 @@ restoring_failed:;
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
{ret= 0; goto ex;}
}
if(ret==2)
{ret= 3; goto ex;}
if(record_hl_path) { /* Start of a disk hardlink family */
ret= Xorriso_register_node_target(xorriso, node_idx, disk_path, 0);
if(ret < 0)
@ -1659,7 +1803,7 @@ int Xorriso_restore_tree(struct XorrisO *xorriso, IsoDir *dir,
IsoDirIter *iter= NULL;
IsoNode **node_array= NULL;
int node_count= 0, node_idx;
int ret, source_is_dir, fret, was_failure= 0;
int ret, source_is_dir, fret, was_failure= 0, sret;
int do_not_dive, source_is_split= 0, len_dp, len_ip, stbuf_ret, hflag, hret;
char *name, *disk_name, *leaf_name, *srcpt, *stbuf_src= "";
struct LinkiteM *own_link_stack;
@ -1667,8 +1811,9 @@ int Xorriso_restore_tree(struct XorrisO *xorriso, IsoDir *dir,
char *disk_path= NULL, *img_path= NULL, *link_target= NULL;
off_t mem;
struct PermiteM *perm_stack_mem;
struct stat stbuf;
struct stat stbuf, disk_stbuf;
int dir_create= 0, node_register= 0, do_node_count= 0, normal_mode= 0;
int target_was_no_dir, dir_is_new;
perm_stack_mem= xorriso->perm_stack;
switch((flag >> 7) & 3) {
@ -1759,6 +1904,8 @@ much_too_long:;
while(1) { /* loop over ISO directory content */
stbuf_src= "";
target_was_no_dir= 0;
dir_is_new= 0;
#ifdef Osirrox_not_yeT
@ -1862,26 +2009,49 @@ much_too_long:;
} else if(node_register || do_node_count) {
ret= 1;
} else {
if(source_is_dir) {
ret= lstat(disk_path, &disk_stbuf);
if(ret == -1) {
target_was_no_dir= 1;
} else {
if(!S_ISDIR(disk_stbuf.st_mode))
target_was_no_dir= 1;
}
}
ret= Xorriso_restore_disk_object(xorriso, img_path, node, disk_path,
(off_t) 0, (off_t) 0, hflag);
if(ret == 3) /* intentionally not restored */
do_not_dive= 1;
if(target_was_no_dir) {
sret= lstat(disk_path, &disk_stbuf);
if(sret != -1)
if(S_ISDIR(disk_stbuf.st_mode))
dir_is_new= 1;
}
}
if(ret<=0)
goto was_problem;
}
ret= 1;
if(source_is_dir && !do_not_dive) {
ret= Xorriso_restore_tree(xorriso, (IsoDir *) node,
img_path, disk_path, mem,
own_link_stack, 1 | (flag & (2 | (3 << 7))));
/* eventually restore exact access permissions of directory */
}
if(source_is_dir) {
/* Restore exact access permissions of directory */
hret= Permstack_pop(&(xorriso->perm_stack), perm_stack_mem, xorriso,
!!(flag&64));
if(hret<=0 && hret<ret)
ret= hret;
if(dir_is_new && !dir_create) {
hret= Xorriso_restore_chattr_i(xorriso, node, disk_path, 0);
if(hret <= 0 && hret < ret)
ret= hret;
}
}
if(ret <= 0)
goto was_problem;
}
continue; /* regular bottom of loop */
was_problem:;
@ -2115,7 +2285,8 @@ attach_source:;
if(hret < 0)
goto ex;
}
if(new_dir_made && !(flag&64))
}
if(new_dir_made && !(flag&64)) {
/* set timestamps which Permstack_pop() will not set */
Xorriso_restore_properties(xorriso, disk_path, node, 2);
}
@ -2137,9 +2308,27 @@ attach_source:;
}
}
}
} else
} else {
*npt= '/';
}
}
if(new_dir_made && !dir_create) {
ret= 1;
/* Need to set any properties before possibly setting immutable bit.
So pop earlier than normal.
*/
hret= Permstack_pop(&(xorriso->perm_stack), perm_stack_mem, xorriso,
2 | !!(flag&64));
if(hret <= 0 && hret < ret)
ret= hret;
hret= Xorriso_restore_chattr_i(xorriso, node, disk_path, 0);
if(hret <= 0 && hret < ret)
ret= hret;
if(ret <= 0)
goto ex;
}
Xorriso_process_msg_queues(xorriso,0);
ret= 1 + (is_dir && !leaf_is_split);
ex:;
@ -2419,6 +2608,8 @@ int Xorriso_extract_cut(struct XorrisO *xorriso,
eff_disk_path, (off_t) 0, bytes, 2 | 8);
if(ret<=0)
goto ex;
if(ret != 1)
{ret= 0; goto ex;}
}
ret= Xorriso_restore_properties(xorriso, eff_disk_path, node, 0);

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.7, Jul 23, 2024"
.TH XORRISO 1 "Version 1.5.7, Aug 05, 2024"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1093,6 +1093,10 @@ changeable by the bearer of superuser capabilities. "no_restore_su" disables
restoring of these attributes. "restore_su_auto" enables it only if the
effective user id is 0.
.br
The attribute "i" (for "immutable") gets restored to directories only if they
have been created freshly by the same file restoring xorriso command.
A directory which already existed on disk will not be made immutable.
.br
Mode "restore_only_known" restricts restoring to the known settable attribute
flags "aAcCdDFijmPsStTux". "restore_unknown" enables the attempt to restore
unknown flags or even those which are known to be unchangeable, if they are
@ -4805,11 +4809,14 @@ drive can be "indev" or "outdev" to indicate already acquired drives,
or it can be the path of a not yet acquired drive.
Prefix "stdio:" for non\-MMC drives is not mandatory.
.br
For entity and id, see also command \-load. They must be either "sbsector" with
the superblock sector address as id,
or "track" with a track number as id, or "session" with a session number,
or "volid" with a search pattern for the volume id, or "auto" with which
any text as id mounts the first track of the last session.
See command \fB\-load\fR for the meaning of entity and id.
.br
Entities are: "auto", "session", "track", "lba", "sbsector", "volid",
"at_time", "before", "not_after", "after", and "not_before".
.br
Each is to be used with its appropriate kind of id string: "auto",
session number, track number, block number, search expression for volume id,
or time string.
.br
path will be used as mount point and must already exist as a directory on disk.
.br
@ -5916,6 +5923,9 @@ Code "codes" lists them. They share names with related commands
.br
"xattr" tells whether xorriso has an adapter for local filesystems EA.
.br
"lfa_flags" tells whether xorriso has an adapter for local Linux file
attributes (see man 1 chattr).
.br
"jigdo" tells whether production of Jigdo files is possible.
.br
"zisofs" tells whether zisofs and built\-in gzip filters are enabled.

View File

@ -978,6 +978,10 @@ activate them only after image loading.
are only changeable by the bearer of superuser capabilities.
"no_restore_su" disables restoring of these attributes.
"restore_su_auto" enables it only if the effective user id is 0.
The attribute "i" (for "immutable") gets restored to directories
only if they have been created freshly by the same file restoring
xorriso command. A directory which already existed on disk will
not be made immutable.
Mode "restore_only_known" restricts restoring to the known settable
attribute flags "aAcCdDFijmPsStTux". "restore_unknown" enables the
attempt to restore unknown flags or even those which are known to
@ -4030,11 +4034,13 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Comm
drive can be "indev" or "outdev" to indicate already acquired
drives, or it can be the path of a not yet acquired drive. Prefix
"stdio:" for non-MMC drives is not mandatory.
For entity and id, see also command -load. They must be either
"sbsector" with the superblock sector address as id, or "track"
with a track number as id, or "session" with a session number, or
"volid" with a search pattern for the volume id, or "auto" with
which any text as id mounts the first track of the last session.
See command '-load' for the meaning of entity and id.
Entities are: "auto", "session", "track", "lba", "sbsector",
"volid", "at_time", "before", "not_after", "after", and
"not_before".
Each is to be used with its appropriate kind of id string: "auto",
session number, track number, block number, search expression for
volume id, or time string.
path will be used as mount point and must already exist as a
directory on disk.
The command gets printed to the result channel. See command -mount
@ -4967,6 +4973,8 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Co
ACLs.
"xattr" tells whether xorriso has an adapter for local filesystems
EA.
"lfa_flags" tells whether xorriso has an adapter for local Linux
file attributes (see man 1 chattr).
"jigdo" tells whether production of Jigdo files is possible.
"zisofs" tells whether zisofs and built-in gzip filters are
enabled.
@ -5907,7 +5915,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
[index]
* Menu:
* # starts a comment line: Scripting. (line 156)
* # starts a comment line: Scripting. (line 158)
* -abort_on controls abort on error: Exception. (line 27)
* -abstract_file sets abstract file name: SetWrite. (line 271)
* -acl controls handling of ACLs: Loading. (line 189)
@ -5923,12 +5931,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -assert_volid rejects undesired images: Loading. (line 129)
* -assess_indev_features shows filesystem features: Inquiry. (line 61)
* -auto_charset learns character set from image: Loading. (line 141)
* -backslash_codes enables backslash conversion: Scripting. (line 71)
* -ban_stdio_write demands real drive: Loading. (line 424)
* -backslash_codes enables backslash conversion: Scripting. (line 73)
* -ban_stdio_write demands real drive: Loading. (line 428)
* -biblio_file sets biblio file name: SetWrite. (line 277)
* -blank erases media: Writing. (line 57)
* -boot_image controls bootability: Bootable. (line 75)
* -calm_drive reduces drive activity: Loading. (line 414)
* -calm_drive reduces drive activity: Loading. (line 418)
* -cd sets working directory in ISO: Navigate. (line 7)
* -cdx sets working directory on disk: Navigate. (line 15)
* -changes_pending overrides change status: Writing. (line 12)
@ -5964,12 +5972,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -cp_rx copies file trees to disk: Restore. (line 131)
* -cp_rx copies file trees to disk <1>: Restore. (line 139)
* -cut_out inserts piece of data file or device: Insert. (line 139)
* -data_cache_size adjusts read cache size: Loading. (line 440)
* -data_cache_size adjusts read cache size: Loading. (line 444)
* -dev acquires one drive for input and output: AqDrive. (line 12)
* -devices gets list of drives: Inquiry. (line 7)
* -device_links gets list of drives: Inquiry. (line 17)
* -dialog enables dialog mode: DialogCtl. (line 7)
* -disk_dev_ino fast incremental backup: Loading. (line 334)
* -disk_dev_ino fast incremental backup: Loading. (line 338)
* -disk_pattern controls pattern expansion: Insert. (line 34)
* -displacement compensate altered image start address: Loading.
(line 102)
@ -5981,11 +5989,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -dusx show directory size on disk: Navigate. (line 96)
* -dux show directory size on disk: Navigate. (line 92)
* -dvd_obs set write block size and end alignment: SetWrite. (line 421)
* -early_stdio_test classifies stdio drives: Loading. (line 428)
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 307)
* -early_stdio_test classifies stdio drives: Loading. (line 432)
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 311)
* -eject ejects drive tray: Writing. (line 50)
* -end writes pending session and ends program: Scripting. (line 151)
* -errfile_log logs problematic disk files: Scripting. (line 116)
* -end writes pending session and ends program: Scripting. (line 153)
* -errfile_log logs problematic disk files: Scripting. (line 118)
* -error_behavior controls error workarounds: Exception. (line 92)
* -external_filter registers data filter: Filter. (line 20)
* -external_filter unregisters data filter: Filter. (line 47)
@ -5995,13 +6003,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -extract_cut copies file piece to disk: Restore. (line 108)
* -extract_l copies files to disk: Restore. (line 104)
* -extract_single copies file to disk: Restore. (line 101)
* -file_name_limit curbs length of file names: Loading. (line 354)
* -file_name_limit curbs length of file names: Loading. (line 358)
* -file_size_limit limits data file size: SetInsert. (line 7)
* -find traverses and alters ISO tree: CmdFind. (line 7)
* -findx traverses disk tree: Navigate. (line 99)
* -follow softlinks and mount points: SetInsert. (line 77)
* -format formats media: Writing. (line 87)
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 283)
* -for_backup acl,xattr,hardlinks,md5,lfa_flags: Loading. (line 287)
* -fs sets size of fifo: SetWrite. (line 500)
* -getfacl shows ACL in ISO image: Navigate. (line 60)
* -getfacl_r shows ACL in ISO image: Navigate. (line 66)
@ -6013,21 +6021,21 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -help prints help text: Scripting. (line 19)
* -hfsplus enables production of HFS+ partition: SetWrite. (line 14)
* -hide excludes file names from directory trees: Manip. (line 204)
* -history brings text into readline history: Scripting. (line 42)
* -history brings text into readline history: Scripting. (line 44)
* -indev acquires a drive for input: AqDrive. (line 23)
* -in_charset sets input character set: Loading. (line 136)
* -iso_nowtime fixed "now" time for ISO 9660 objects: Loading.
(line 328)
(line 332)
* -iso_rr_pattern controls pattern expansion: Manip. (line 10)
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 37)
* -joliet enables production of Joliet tree: SetWrite. (line 10)
* -joliet_map Joliet names: Loading. (line 320)
* -joliet_map Joliet names: Loading. (line 324)
* -launch_frontend starts frontend program at pipes: Frontend.
(line 141)
* -lfa_flags controls handling of Linux file attributes: Loading.
(line 207)
* -list_arg_sorting prints sorting order of -x: ArgSort. (line 26)
* -list_delimiter replaces '--': Scripting. (line 55)
* -list_delimiter replaces '--': Scripting. (line 57)
* -list_extras lists compile time extra features: Scripting. (line 24)
* -list_formats lists available formats: Writing. (line 128)
* -list_profiles lists supported media: Writing. (line 163)
@ -6049,12 +6057,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -map_l inserts paths from disk file: Insert. (line 96)
* -map_single inserts path: Insert. (line 93)
* -mark sets synchronizing message: Frontend. (line 23)
* -md5 controls handling of MD5 sums: Loading. (line 252)
* -md5 controls handling of MD5 sums: Loading. (line 256)
* -mkdir creates ISO directory: Insert. (line 188)
* -modesty_on_drive keep drive buffer hungry: SetWrite. (line 440)
* -mount issues mount command for ISO session: Restore. (line 204)
* -mount_cmd composes mount command line: Inquiry. (line 95)
* -mount_cmd controls mount command: Inquiry. (line 111)
* -mount_cmd controls mount command: Inquiry. (line 113)
* -msg_op perform operations on program messages: Frontend. (line 27)
* -mv renames files in ISO image: Manip. (line 37)
* -mv renames single file in ISO image: Manip. (line 31)
@ -6077,15 +6085,15 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -path_list inserts paths from disk file: Insert. (line 81)
* -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 282)
* -print prints result text line: Scripting. (line 102)
* -print_info prints message text line: Scripting. (line 104)
* -print_mark prints synchronizing text line: Scripting. (line 106)
* -print_size predicts image size: Inquiry. (line 132)
* -print prints result text line: Scripting. (line 104)
* -print_info prints message text line: Scripting. (line 106)
* -print_mark prints synchronizing text line: Scripting. (line 108)
* -print_size predicts image size: Inquiry. (line 134)
* -prog sets program name: Frontend. (line 176)
* -prog_help prints help text: Frontend. (line 178)
* -prompt prompts for enter key: Scripting. (line 110)
* -prompt prompts for enter key: Scripting. (line 112)
* -publisher sets publisher id: SetWrite. (line 213)
* -pvd_info shows image id strings: Inquiry. (line 154)
* -pvd_info shows image id strings: Inquiry. (line 156)
* -pwd tells working directory in ISO: Navigate. (line 19)
* -pwdx tells working directory on disk: Navigate. (line 21)
* -quoted_not_list sets exclusions: SetInsert. (line 74)
@ -6096,8 +6104,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -read_speed set read speed: Loading. (line 11)
* -reassure enables confirmation question: DialogCtl. (line 29)
* -report_about controls verbosity: Exception. (line 53)
* -report_el_torito shows Boot Catalog: Inquiry. (line 164)
* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 199)
* -report_el_torito shows Boot Catalog: Inquiry. (line 166)
* -report_system_area shows MBR, GPT, and alike: Inquiry. (line 201)
* -return_with controls exit value: Exception. (line 38)
* -rm deletes files from ISO image: Manip. (line 20)
* -rmdir deletes ISO directory: Manip. (line 29)
@ -6105,14 +6113,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rockridge disables production of Rock Ridge info: SetWrite.
(line 57)
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 154)
* -rom_toc_scan searches for sessions: Loading. (line 386)
* -rollback_end ends program without writing: Scripting. (line 156)
* -rom_toc_scan searches for sessions: Loading. (line 390)
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 171)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179)
* -scsi_dev_family choose Linux device file type: AqDrive. (line 95)
* -scsi_log reports SCSI commands: Scripting. (line 143)
* -session_log logs written sessions: Scripting. (line 134)
* -session_string composes session info line: Inquiry. (line 120)
* -scsi_log reports SCSI commands: Scripting. (line 145)
* -session_log logs written sessions: Scripting. (line 136)
* -session_string composes session info line: Inquiry. (line 122)
* -setfacl sets ACL in ISO image: Manip. (line 68)
* -setfacl_list sets ACL in ISO image: Manip. (line 94)
* -setfacl_r sets ACL in ISO image: Manip. (line 92)
@ -6124,19 +6132,19 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -show_stream shows data source and filters: Navigate. (line 159)
* -show_stream_r shows data source and filters: Navigate. (line 177)
* -sh_style_result makes results look more like shell: Scripting.
(line 61)
(line 63)
* -signal_handling controls handling of system signals: Exception.
(line 66)
* -sleep waits for a given time span: Scripting. (line 113)
* -sleep waits for a given time span: Scripting. (line 115)
* -speed set write speed: SetWrite. (line 392)
* -split_size enables large file splitting: SetInsert. (line 154)
* -status shows current settings: Scripting. (line 44)
* -status_history_max curbs -status history: Scripting. (line 52)
* -status shows current settings: Scripting. (line 46)
* -status_history_max curbs -status history: Scripting. (line 54)
* -stdio_sync controls stdio buffer: SetWrite. (line 490)
* -stream_recording controls defect management: SetWrite. (line 410)
* -system_id sets system id: SetWrite. (line 226)
* -tell_media_space reports free space: Inquiry. (line 144)
* -temp_mem_limit curbs memory consumption: Scripting. (line 96)
* -tell_media_space reports free space: Inquiry. (line 146)
* -temp_mem_limit curbs memory consumption: Scripting. (line 98)
* -toc shows list of sessions: Inquiry. (line 27)
* -toc_info_type shows list of sessions: Inquiry. (line 49)
* -toc_of shows list of sessions: Inquiry. (line 41)
@ -6184,8 +6192,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Appended partitions, MBR: Bootable. (line 480)
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 57)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 334)
* Backup, enable features, -for_backup: Loading. (line 283)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 338)
* Backup, enable features, -for_backup: Loading. (line 287)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
* Blank media, _definition: Media. (line 34)
* Blank, format, Immed bit, -use_immed_bit: SetWrite. (line 478)
@ -6201,7 +6209,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character Set, _definition: Charset. (line 6)
* CHRP partition, _definition: Bootable. (line 333)
* Closed media, _definition: Media. (line 49)
* Comment, #: Scripting. (line 156)
* Comment, #: Scripting. (line 158)
* Control, signal handling, -signal_handling: Exception. (line 66)
* Create, new ISO image, _definition: Methods. (line 7)
* Cylinder alignment, _definition: Bootable. (line 377)
@ -6212,7 +6220,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Delete, from ISO image, -rm_r: Manip. (line 26)
* Delete, ISO directory, -rmdir: Manip. (line 29)
* Device file locking, -drive_access: AqDrive. (line 72)
* Dialog, bring text into history, -history: Scripting. (line 42)
* Dialog, bring text into history, -history: Scripting. (line 44)
* Dialog, confirmation question, -reassure: DialogCtl. (line 29)
* Dialog, enable dialog mode, -dialog: DialogCtl. (line 7)
* Dialog, EOF resistant, -named_pipe_loop: Frontend. (line 119)
@ -6224,8 +6232,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Directory, delete, -rmdir: Manip. (line 29)
* disk_path, _definition: Insert. (line 6)
* Drive, accessability, -drive_class: AqDrive. (line 43)
* Drive, classify stdio, -early_stdio_test: Loading. (line 428)
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 424)
* Drive, classify stdio, -early_stdio_test: Loading. (line 432)
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 428)
* Drive, eject tray, -eject: Writing. (line 50)
* Drive, for input and output, -dev: AqDrive. (line 12)
* Drive, for input, -indev: AqDrive. (line 23)
@ -6233,8 +6241,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, get drive list, -devices: Inquiry. (line 7)
* Drive, get drive list, -device_links: Inquiry. (line 17)
* Drive, list supported media, -list_profiles: Writing. (line 163)
* Drive, reduce activity, -calm_drive: Loading. (line 414)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 143)
* Drive, reduce activity, -calm_drive: Loading. (line 418)
* Drive, report SCSI commands, -scsi_log: Scripting. (line 145)
* Drive, write and eject, -commit_eject: Writing. (line 53)
* Drive, _definition: Drives. (line 6)
* EA, _definition: Extras. (line 66)
@ -6249,9 +6257,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Examples: Examples. (line 6)
* extattr, _definition: Extras. (line 66)
* File content, copy, -concat: Restore. (line 148)
* File names, curb length, -file_name_limit: Loading. (line 354)
* File names, if Joliet is loaded: Loading. (line 320)
* File names, if neither Rock Ridge nor Joliet: Loading. (line 307)
* File names, curb length, -file_name_limit: Loading. (line 358)
* File names, if Joliet is loaded: Loading. (line 324)
* File names, if neither Rock Ridge nor Joliet: Loading. (line 311)
* Filesytem features, show, -assess_indev_features: Inquiry. (line 61)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
* Filter, apply to file, -set_filter: Filter. (line 58)
@ -6277,7 +6285,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* HFS+ serial number: Bootable. (line 455)
* hidden, set in ISO image, -hide: Manip. (line 204)
* HP-PA boot sector, production: Bootable. (line 430)
* Image reading, cache size, -data_cache_size: Loading. (line 440)
* Image reading, cache size, -data_cache_size: Loading. (line 444)
* Image, demand volume ID, -assert_volid: Loading. (line 129)
* Image, discard pending changes, -rollback: Writing. (line 9)
* Image, filesystem to load, -read_fs: Loading. (line 120)
@ -6294,9 +6302,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, set volume id, -volid: SetWrite. (line 189)
* Image, set volume set id, -volset_id: SetWrite. (line 209)
* Image, set volume timestamp, -volume_date: SetWrite. (line 232)
* Image, show Boot Catalog: Inquiry. (line 164)
* Image, show id strings, -pvd_info: Inquiry. (line 154)
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 199)
* Image, show Boot Catalog: Inquiry. (line 166)
* Image, show id strings, -pvd_info: Inquiry. (line 156)
* Image, show MBR, GPT, and alike, -pvd_info: Inquiry. (line 201)
* Image, _definition: Model. (line 9)
* Input Character Set, _definition: Charset. (line 25)
* Insert, enable overwriting, -overwrite: SetInsert. (line 140)
@ -6329,7 +6337,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Jigdo Template Extraction, -jigdo: Jigdo. (line 37)
* Jigdo Template Extraction, _definition: Jigdo. (line 6)
* LBA, _definition: Drives. (line 17)
* libisofs, fixed "now" time: Loading. (line 328)
* libisofs, fixed "now" time: Loading. (line 332)
* Linux device type, -scsi_dev_family: AqDrive. (line 95)
* Linux file attributes, control handling, -lfa_flags: Loading.
(line 207)
@ -6343,7 +6351,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MBR bootable/active flag, enforce: Bootable. (line 388)
* MBR, set, -boot_image system_area=: Bootable. (line 227)
* MBR, _definition: Extras. (line 27)
* MD5, control handling, -md5: Loading. (line 252)
* MD5, control handling, -md5: Loading. (line 256)
* Media, erase, -blank: Writing. (line 57)
* Media, format, -format: Writing. (line 87)
* Media, list formats, -list_formats: Writing. (line 128)
@ -6391,31 +6399,31 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Process, control exit value, -return_with: Exception. (line 38)
* Process, control verbosity, -report_about: Exception. (line 53)
* Process, disable startup files, -no_rc: Scripting. (line 7)
* Process, end program and write, -end: Scripting. (line 151)
* Process, end program, no writing, -rollback_end: Scripting. (line 154)
* Process, end program and write, -end: Scripting. (line 153)
* Process, end program, no writing, -rollback_end: Scripting. (line 156)
* Process, error workarounds, -error_behavior: Exception. (line 92)
* Process, log output channels to file, -logfile: Frontend. (line 19)
* Process, read command file, -options_from_file: Scripting. (line 12)
* Process, set synchronizing message, -mark: Frontend. (line 23)
* Program messages, perform operations, -msg_op: Frontend. (line 27)
* Program, backslash conversion, -backslash_codes: Scripting. (line 71)
* Program, curb memory, -temp_mem_limit: Scripting. (line 96)
* Program, end and write, -end: Scripting. (line 151)
* Program, end without writing, -rollback_end: Scripting. (line 154)
* Program, backslash conversion, -backslash_codes: Scripting. (line 73)
* Program, curb memory, -temp_mem_limit: Scripting. (line 98)
* Program, end and write, -end: Scripting. (line 153)
* Program, end without writing, -rollback_end: Scripting. (line 156)
* Program, list extra features, -list_extras: Scripting. (line 24)
* Program, print help text, -help: Scripting. (line 19)
* Program, print help text, -prog_help: Frontend. (line 178)
* Program, print message text line, -print_info: Scripting. (line 104)
* Program, print result text line, -print: Scripting. (line 102)
* Program, print message text line, -print_info: Scripting. (line 106)
* Program, print result text line, -print: Scripting. (line 104)
* Program, print synchronizing text line, -print_mark: Scripting.
(line 106)
(line 108)
* Program, print version, -version: Scripting. (line 22)
* Program, prompt for enter key, -prompt: Scripting. (line 110)
* Program, replace --, -list_delimiter: Scripting. (line 55)
* Program, prompt for enter key, -prompt: Scripting. (line 112)
* Program, replace --, -list_delimiter: Scripting. (line 57)
* Program, set name, -prog: Frontend. (line 176)
* Program, show current settings, -status: Scripting. (line 44)
* Program, status history, -status_history_max: Scripting. (line 52)
* Program, wait a time span, -sleep: Scripting. (line 113)
* Program, show current settings, -status: Scripting. (line 46)
* Program, status history, -status_history_max: Scripting. (line 54)
* Program, wait a time span, -sleep: Scripting. (line 115)
* Quoted input, _definition: Processing. (line 51)
* Read, set speed, -read_speed: Loading. (line 11)
* Recovery, retrieve blocks, -check_media: Verify. (line 21)
@ -6435,14 +6443,14 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Restore, copy files to disk, -extract_l: Restore. (line 104)
* Restore, enable ISO-to-disk, -osirrox: Restore. (line 25)
* Result layout, more shell-like, -sh_style_result: Scripting.
(line 61)
(line 63)
* Rock Ridge, _definition: Extras. (line 6)
* Session, altered start address, -displacement: Loading. (line 102)
* Session, info string, -session_string: Inquiry. (line 120)
* Session, info string, -session_string: Inquiry. (line 122)
* Session, issue mount command, -mount: Restore. (line 204)
* Session, log when written, -session_log: Scripting. (line 134)
* Session, log when written, -session_log: Scripting. (line 136)
* Session, mount command line, -mount_cmd: Inquiry. (line 95)
* Session, mount parameters, -mount_opts: Inquiry. (line 111)
* Session, mount parameters, -mount_opts: Inquiry. (line 113)
* Session, select as input, -load: Loading. (line 54)
* Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
@ -6452,7 +6460,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* System area, _definition: Bootable. (line 227)
* Table-of-content, choose info to show, -toc_info_type: Inquiry.
(line 49)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 386)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 390)
* Table-of-content, show parts of, -toc_of: Inquiry. (line 41)
* Table-of-content, show, -toc: Inquiry. (line 27)
* Timestamps, set in ISO image, -alter_date: Manip. (line 166)
@ -6479,12 +6487,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Write, enable HFS+, -hfsplus: SetWrite. (line 14)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 500)
* Write, free space, -tell_media_space: Inquiry. (line 144)
* Write, log problematic disk files, -errfile_log: Scripting. (line 116)
* Write, log written sessions, -session_log: Scripting. (line 134)
* Write, free space, -tell_media_space: Inquiry. (line 146)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 136)
* Write, padding image, -padding: SetWrite. (line 528)
* Write, pending ISO image, -commit: Writing. (line 27)
* Write, predict image size, -print_size: Inquiry. (line 132)
* Write, predict image size, -print_size: Inquiry. (line 134)
* Write, set speed, -speed: SetWrite. (line 392)
* Write, simulation, -dummy: SetWrite. (line 497)
* Write, TAO or SAO/DAO, -write_type: SetWrite. (line 521)
@ -6512,48 +6520,48 @@ Node: Commands26634
Node: ArgSort28311
Node: AqDrive29805
Node: Loading36962
Node: Insert63604
Node: SetInsert75799
Node: Manip85973
Node: CmdFind97637
Node: Filter118440
Node: Writing123062
Node: SetWrite135556
Node: Bootable166831
Node: Jigdo198113
Node: Charset203116
Node: Exception206445
Node: DialogCtl212574
Node: Inquiry215176
Node: Navigate227709
Node: Verify236864
Node: Restore248013
Node: Emulation260220
Node: Scripting270676
Node: Frontend278459
Node: Examples288085
Node: ExDevices289263
Node: ExCreate289924
Node: ExDialog291224
Node: ExGrowing292495
Node: ExModifying293304
Node: ExBootable293814
Node: ExCharset294369
Node: ExPseudo295265
Node: ExCdrecord296192
Node: ExMkisofs296512
Node: ExGrowisofs298409
Node: ExException299562
Node: ExTime300020
Node: ExIncBackup300478
Node: ExRestore304504
Node: ExRecovery305450
Node: Files306022
Node: Environ307356
Node: Seealso308104
Node: Bugreport308868
Node: Legal309459
Node: CommandIdx310471
Node: ConceptIdx328800
Node: Insert63843
Node: SetInsert76038
Node: Manip86212
Node: CmdFind97876
Node: Filter118679
Node: Writing123301
Node: SetWrite135795
Node: Bootable167070
Node: Jigdo198352
Node: Charset203355
Node: Exception206684
Node: DialogCtl212813
Node: Inquiry215415
Node: Navigate227980
Node: Verify237135
Node: Restore248284
Node: Emulation260491
Node: Scripting270947
Node: Frontend278841
Node: Examples288467
Node: ExDevices289645
Node: ExCreate290306
Node: ExDialog291606
Node: ExGrowing292877
Node: ExModifying293686
Node: ExBootable294196
Node: ExCharset294751
Node: ExPseudo295647
Node: ExCdrecord296574
Node: ExMkisofs296894
Node: ExGrowisofs298791
Node: ExException299944
Node: ExTime300402
Node: ExIncBackup300860
Node: ExRestore304886
Node: ExRecovery305832
Node: Files306404
Node: Environ307738
Node: Seealso308486
Node: Bugreport309250
Node: Legal309841
Node: CommandIdx310853
Node: ConceptIdx329182

End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.5.7, Jul 23, 2024"
@c man .TH XORRISO 1 "Version 1.5.7, Aug 05, 2024"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1345,6 +1345,10 @@ changeable by the bearer of superuser capabilities. "no_restore_su" disables
restoring of these attributes. "restore_su_auto" enables it only if the
effective user id is 0.
@*
The attribute "i" (for "immutable") gets restored to directories only if they
have been created freshly by the same file restoring xorriso command.
A directory which already existed on disk will not be made immutable.
@*
Mode "restore_only_known" restricts restoring to the known settable attribute
flags "aAcCdDFijmPsStTux". "restore_unknown" enables the attempt to restore
unknown flags or even those which are known to be unchangeable, if they are
@ -5464,11 +5468,14 @@ drive can be "indev" or "outdev" to indicate already acquired drives,
or it can be the path of a not yet acquired drive.
Prefix "stdio:" for non-MMC drives is not mandatory.
@*
For entity and id, see also command -load. They must be either "sbsector" with
the superblock sector address as id,
or "track" with a track number as id, or "session" with a session number,
or "volid" with a search pattern for the volume id, or "auto" with which
any text as id mounts the first track of the last session.
See command @command{-load} for the meaning of entity and id.
@*
Entities are: "auto", "session", "track", "lba", "sbsector", "volid",
"at_time", "before", "not_after", "after", and "not_before".
@*
Each is to be used with its appropriate kind of id string: "auto",
session number, track number, block number, search expression for volume id,
or time string.
@*
path will be used as mount point and must already exist as a directory on disk.
@*
@ -6736,6 +6743,9 @@ Code "codes" lists them. They share names with related commands
@*
"xattr" tells whether xorriso has an adapter for local filesystems EA.
@*
"lfa_flags" tells whether xorriso has an adapter for local Linux file
attributes (see man 1 chattr).
@*
"jigdo" tells whether production of Jigdo files is possible.
@*
"zisofs" tells whether zisofs and built-in gzip filters are enabled.

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.07.23.165442"
#define Xorriso_timestamP "2024.08.06.193209"

View File

@ -710,6 +710,8 @@ int Xorriso_set_lfa_flags(struct XorrisO *xorriso, void *in_node, char *path,
int Xorriso_remove_all_lfa_flags(struct XorrisO *xorriso, int flag);
int Xorriso_set_local_chattr_i(struct XorrisO *xorriso, char *disk_path,
int flag);
#endif /* Xorrisoburn_includeD */