Made HFS creator, type, blessing persistent in AAIP isofs.hx isofs.hb

This commit is contained in:
Thomas Schmitt 2012-06-08 07:09:30 +00:00
parent 396fe7db8a
commit f8f39c322f
9 changed files with 384 additions and 208 deletions

View File

@ -154,6 +154,52 @@ ex:;
} }
static int Xorriso_grasp_loaded_aaip(struct XorrisO *xorriso, IsoImage *volset,
int flag)
{
int ret;
IsoNode *root_node;
size_t value_length;
char *value= NULL;
double num;
struct FindjoB *job= NULL;
struct stat dir_stbuf;
/* Look for isofs.st and put it into xorriso->isofs_st_in */
root_node= (IsoNode *) iso_image_get_root(volset);
ret= iso_node_lookup_attr(root_node, "isofs.st", &value_length, &value, 0);
if(ret > 0) {
if(value_length > 0) {
sscanf(value, "%lf", &num);
if(num > 0)
xorriso->isofs_st_in= num;
}
free(value);
}
if(xorriso->do_hfsplus) {
/* Bring isofs.hx to iso_hfsplus_xinfo_func,
isofs.hb to IsoImage blessings
*/
ret= Findjob_new(&job, "/", 0);
if(ret<=0) {
Xorriso_no_findjob(xorriso, "xorriso", 0);
{ret= -1; goto ex;}
}
Findjob_set_action_target(job, 49, NULL, 0);
ret= Xorriso_findi(xorriso, job, NULL, (off_t) 0, NULL, "/",
&dir_stbuf, 0, 0);
if(ret <= 0)
goto ex;
}
ret= 1;
ex:;
Findjob_destroy(&job, 0);
return(ret);
}
/* @param flag bit0= aquire as isoburn input drive /* @param flag bit0= aquire as isoburn input drive
bit1= aquire as libburn output drive (as isoburn drive if bit0) bit1= aquire as libburn output drive (as isoburn drive if bit0)
bit2= regard overwriteable media as blank bit2= regard overwriteable media as blank
@ -178,12 +224,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
struct burn_drive *drive= NULL, *out_drive= NULL, *in_drive= NULL; struct burn_drive *drive= NULL, *out_drive= NULL, *in_drive= NULL;
enum burn_disc_status state; enum burn_disc_status state;
IsoImage *volset = NULL; IsoImage *volset = NULL;
IsoNode *root_node;
struct isoburn_read_opts *ropts= NULL; struct isoburn_read_opts *ropts= NULL;
char *libburn_adr= NULL, *off_adr= NULL, *boot_fate, *sev; char *libburn_adr= NULL, *off_adr= NULL, *boot_fate, *sev;
size_t value_length;
char *value= NULL;
double num;
char volid[33], *adr_data= NULL, *adr_pt; char volid[33], *adr_data= NULL, *adr_pt;
Xorriso_alloc_meM(libburn_adr, char, SfileadrL); Xorriso_alloc_meM(libburn_adr, char, SfileadrL);
@ -438,8 +480,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
ext= isoburn_ropt_noiso1999; ext= isoburn_ropt_noiso1999;
if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (1 | 4 | 32)) if((xorriso->ino_behavior & (1 | 2)) && !(xorriso->do_aaip & (1 | 4 | 32))
&& !(xorriso->do_md5 & 1)) && !(xorriso->do_md5 & 1) && !(xorriso->do_hfsplus))
ext|= isoburn_ropt_noaaip; ext|= isoburn_ropt_noaaip;
if(!(xorriso->do_aaip & 1)) if(!(xorriso->do_aaip & 1))
ext|= isoburn_ropt_noacl; ext|= isoburn_ropt_noacl;
if(!(xorriso->do_aaip & 4)) if(!(xorriso->do_aaip & 4))
@ -572,17 +614,9 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
} }
if(flag & 1) { if(flag & 1) {
/* Look for isofs.st and put it into xorriso->isofs_st_in */; ret= Xorriso_grasp_loaded_aaip(xorriso, volset, 0);
root_node= (IsoNode *) iso_image_get_root(volset); if(ret <= 0)
ret= iso_node_lookup_attr(root_node, "isofs.st", &value_length, &value, 0); goto ex;
if(ret > 0) {
if(value_length > 0) {
sscanf(value, "%lf", &num);
if(num > 0)
xorriso->isofs_st_in= num;
}
free(value);
}
} }
if(!(flag&32)) { if(!(flag&32)) {

View File

@ -1300,6 +1300,10 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
} else if(strcmp(argpt, "--old-root-no-ino")==0) { } else if(strcmp(argpt, "--old-root-no-ino")==0) {
old_root_ino= 0; old_root_ino= 0;
} else if(strcmp(argpt, "-hfsplus") == 0) {
/* Already with -indev */
xorriso->do_hfsplus= 1;
} else if(strcmp(argpt, "--hardlinks")==0) { } else if(strcmp(argpt, "--hardlinks")==0) {
Xorriso_option_hardlinks(xorriso, "on", 0); Xorriso_option_hardlinks(xorriso, "on", 0);
} else if(strcmp(argpt, "--acl")==0) { } else if(strcmp(argpt, "--acl")==0) {
@ -1518,8 +1522,6 @@ illegal_c:;
if(argv[i] != argpt) if(argv[i] != argpt)
delay_opt_list[delay_opt_count - 1]|= 1<<31; delay_opt_list[delay_opt_count - 1]|= 1<<31;
i+= arg_count; i+= arg_count;
} else if(strcmp(argpt, "-hfsplus") == 0) {
xorriso->do_hfsplus= 1;
} else if(strcmp(argpt, "-hfsplus-serial-no") == 0) { } else if(strcmp(argpt, "-hfsplus-serial-no") == 0) {
if(i+1>=argc) if(i+1>=argc)
goto not_enough_args; goto not_enough_args;

View File

@ -165,6 +165,7 @@ struct FindjoB {
46= get_hfs_crtp 46= get_hfs_crtp
47= set_hfs_bless blessing 47= set_hfs_bless blessing
48= get_hfs_bless 48= get_hfs_bless
49= internal: update creator, type, and blessings from persistent isofs.*
*/ */
int action; int action;
int prune; int prune;

View File

@ -2414,6 +2414,8 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
struct stat dir_stbuf, stbuf; struct stat dir_stbuf, stbuf;
void *xinfo; void *xinfo;
struct iso_hfsplus_xinfo_data *hfsplus_xinfo; struct iso_hfsplus_xinfo_data *hfsplus_xinfo;
size_t value_length;
char *value;
action= Findjob_get_action_parms(job, &target, &text_2, &user, &group, action= Findjob_get_action_parms(job, &target, &text_2, &user, &group,
&mode_and, &mode_or, &type, &date, &subjob, 0); &mode_and, &mode_or, &type, &date, &subjob, 0);
@ -2593,6 +2595,33 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
Xorriso_result(xorriso, 0); Xorriso_result(xorriso, 0);
} else if(ret == 0) } else if(ret == 0)
ret= 1; ret= 1;
} else if(action == 49) {
/* internal: update creator, type, and blessings from persistent isofs.* */
ret= Xorriso_get_attr_value(xorriso, node, show_path, "isofs.hx",
&value_length, &value, 0);
if(ret < 0)
return(ret);
if(ret > 0 && value_length >= 10) {
ret= Xorriso_hfsplus_file_creator_type(xorriso, show_path, (void *) node,
value + 2, value + 6, 4);
free(value);
if(ret <= 0)
return(ret);
}
ret= Xorriso_get_attr_value(xorriso, node, show_path, "isofs.hb",
&value_length, &value, 0);
if(ret < 0)
return(ret);
if(ret > 0 && value_length >= 1) {
bless_code[0]= value[0];
bless_code[1]= 0;
ret= Xorriso_hfsplus_bless(xorriso, show_path, (void *) node,
bless_code, 0);
if(ret <= 0)
return(ret);
}
ret= 1;
} else { /* includes : 15 in_iso */ } else { /* includes : 15 in_iso */
Text_shellsafe(show_path, xorriso->result_line, 0); Text_shellsafe(show_path, xorriso->result_line, 0);
strcat(xorriso->result_line, "\n"); strcat(xorriso->result_line, "\n");
@ -3543,8 +3572,92 @@ set_error:;
} }
/* flag bit0= in case of error talk of "overwrite" rather than "remove"
*/
static int Xorriso_remove_hfsplus_crtp(struct XorrisO *xorriso, IsoNode *node,
char *path, int flag)
{
int ret;
char *msg, buf[10], *bufpt;
size_t l;
static char *name= "isofs.hx";
ret= iso_node_remove_xinfo(node, iso_hfsplus_xinfo_func);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
if(flag & 1)
msg= "Cannot overwrite HFS+ creator and type of ISO node";
else
msg= "Cannot remove HFS+ creator and type of ISO node";
Xorriso_report_iso_error(xorriso, path, ret, msg, 0, "FAILURE", 1);
return(0);
}
/* Delete isofs.hx attribute */
bufpt= buf;
/* >>> ??? check whether there is isofs.hx attached ? */;
ret= Xorriso_setfattr(xorriso, node, path,
(size_t) 1, &name, &l, &bufpt, 4 | 8);
return(ret);
}
static int Xorriso_set_hfsplus_crtp(struct XorrisO *xorriso, IsoNode *node,
char *path, char *creator, char *hfs_type,
int flag)
{
struct iso_hfsplus_xinfo_data *hfs_data= NULL;
char buf[10], *bufpt;
size_t l;
int ret;
static char *name= "isofs.hx";
/* Register as non-persistent xinfo */
hfs_data= iso_hfsplus_xinfo_new(0);
if(hfs_data == NULL) {
Xorriso_no_malloc_memory(xorriso, NULL, 0);
return(-1);
}
memcpy(hfs_data->creator_code, creator, 4);
memcpy(hfs_data->type_code, hfs_type, 4);
ret= iso_node_add_xinfo(node, iso_hfsplus_xinfo_func, (void *) hfs_data);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, path, ret,
"Cannot attach HFS+ creator and type to ISO node", 0, "FAILURE", 1);
goto failure;
} else if(ret == 0) {
strcat(xorriso->info_text,
"Programm error: iso_node_add_xinfo refuses to attach HFS+ creator and type");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
goto failure;
}
/* Register as persistent attribute isofs.hx */
bufpt= buf;
l= 10;
buf[0]= 1;
buf[1]= 0;
memcpy(buf + 2, creator, 4);
memcpy(buf + 6, hfs_type, 4);
ret= Xorriso_setfattr(xorriso, node, path,
(size_t) 1, &name, &l, &bufpt, 2 | 8);
if(ret <= 0)
goto failure;
Xorriso_set_change_pending(xorriso, 0);
return(1);
failure:
if(hfs_data != NULL)
iso_hfsplus_xinfo_func(hfs_data, 1);
return(0);
}
/* @param flag bit0= only check creator and hfs_type for compliance. /* @param flag bit0= only check creator and hfs_type for compliance.
bit1= with bit0: check for search rather than for setting bit1= with bit0: check for search rather than for setting
bit2= copy 2 times 4 bytes without any check
*/ */
int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path, int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
void *in_node, void *in_node,
@ -3552,7 +3665,6 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
{ {
int ret; int ret;
IsoNode *node; IsoNode *node;
struct iso_hfsplus_xinfo_data *hfs_data= NULL;
if(in_node == NULL && !(flag * 1)) { if(in_node == NULL && !(flag * 1)) {
ret= Xorriso_node_from_path(xorriso, NULL, path, &node, 0); ret= Xorriso_node_from_path(xorriso, NULL, path, &node, 0);
@ -3560,11 +3672,13 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
return(ret); return(ret);
} else } else
node= (IsoNode *) in_node; node= (IsoNode *) in_node;
if((creator[0] == 0 && hfs_type[0] == 0) || if(flag & 4) {
;
} else if((creator[0] == 0 && hfs_type[0] == 0) ||
strcmp(creator, "--delete") == 0) { strcmp(creator, "--delete") == 0) {
if(flag & 2) { if(flag & 2) {
strcpy(xorriso->info_text, strcpy(xorriso->info_text,
"HFS+ file creator code for deletion shall be used for searching"); "Attempt to use HFS+ file pseudo-creator '--delete' for searching");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
strcpy(xorriso->info_text, strcpy(xorriso->info_text,
"Suitable are strings of length 4 or length 1"); "Suitable are strings of length 4 or length 1");
@ -3573,14 +3687,9 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
} }
if(flag & 1) if(flag & 1)
return(1); return(1);
ret= iso_node_remove_xinfo(node, iso_hfsplus_xinfo_func); ret= Xorriso_remove_hfsplus_crtp(xorriso, node, path, 0);
Xorriso_process_msg_queues(xorriso, 0); if(ret < 0)
if(ret < 0) { return(ret);
Xorriso_report_iso_error(xorriso, path, ret,
"Cannot remove HFS+ creator and type of ISO node",
0, "FAILURE", 1);
goto failure;
}
return(1); return(1);
} else if((strlen(creator) != 4 && !(strlen(creator) == 1 && } else if((strlen(creator) != 4 && !(strlen(creator) == 1 &&
(flag & 3) == 3)) || (flag & 3) == 3)) ||
@ -3599,43 +3708,16 @@ int Xorriso_hfsplus_file_creator_type(struct XorrisO *xorriso, char *path,
if(flag & 1) if(flag & 1)
return(1); return(1);
hfs_data= iso_hfsplus_xinfo_new(0); ret= Xorriso_remove_hfsplus_crtp(xorriso, node, path, 1);
if(hfs_data == NULL) { if(ret <= 0)
Xorriso_no_malloc_memory(xorriso, NULL, 0); return(ret);
return(-1); ret= Xorriso_set_hfsplus_crtp(xorriso, node, path, creator, hfs_type, 0);
} if(ret <= 0)
memcpy(hfs_data->creator_code, creator, 4); return(ret);
memcpy(hfs_data->type_code, hfs_type, 4);
ret= iso_node_remove_xinfo(node, iso_hfsplus_xinfo_func);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, path, ret,
"Cannot overwrite HFS+ creator and type of ISO node",
0, "FAILURE", 1);
goto failure;
}
ret= iso_node_add_xinfo(node, iso_hfsplus_xinfo_func, (void *) hfs_data);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, path, ret,
"Cannot attach HFS+ creator and type to ISO node", 0, "FAILURE", 1);
goto failure;
} else if(ret == 0) {
strcat(xorriso->info_text,
"Programm error: iso_node_add_xinfo refuses to attach HFS+ creator and type");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
goto failure;
}
Xorriso_set_change_pending(xorriso, 0);
return(1); return(1);
failure:
if(hfs_data != NULL)
iso_hfsplus_xinfo_func(hfs_data, 1);
return(0);
} }
/* /*
@param node @param node
If node is NULL and path is empty, then the blessing will be If node is NULL and path is empty, then the blessing will be
@ -3652,31 +3734,39 @@ failure:
int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path, int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
void *in_node, char *blessing, int flag) void *in_node, char *blessing, int flag)
{ {
int ret; int ret, bless_max;
IsoNode *node; IsoNode *node, **blessed_nodes;
IsoImage *volume= NULL; IsoImage *volume= NULL;
enum IsoHfsplusBlessings bless_code = ISO_HFSPLUS_BLESS_MAX; /* = invalid */ enum IsoHfsplusBlessings bless_code = ISO_HFSPLUS_BLESS_MAX; /* = invalid */
char *hb = "";
size_t l= 0;
static char *name= "isofs.hb";
if(strcmp(blessing, "ppc_bootdir") == 0 || if(strcmp(blessing, "ppc_bootdir") == 0 ||
strcmp(blessing, "p") == 0 || strcmp(blessing, "P") == 0) strcmp(blessing, "p") == 0 || strcmp(blessing, "P") == 0) {
bless_code= ISO_HFSPLUS_BLESS_PPC_BOOTDIR; bless_code= ISO_HFSPLUS_BLESS_PPC_BOOTDIR;
else if(strcmp(blessing, "intel_bootfile") == 0 || hb= "p";
strcmp(blessing, "i") == 0 || strcmp(blessing, "I") == 0) } else if(strcmp(blessing, "intel_bootfile") == 0 ||
strcmp(blessing, "i") == 0 || strcmp(blessing, "I") == 0) {
bless_code= ISO_HFSPLUS_BLESS_INTEL_BOOTFILE; bless_code= ISO_HFSPLUS_BLESS_INTEL_BOOTFILE;
else if(strcmp(blessing, "show_folder") == 0 || hb= "i";
strcmp(blessing, "s") == 0 || strcmp(blessing, "S") == 0) } else if(strcmp(blessing, "show_folder") == 0 ||
strcmp(blessing, "s") == 0 || strcmp(blessing, "S") == 0) {
bless_code= ISO_HFSPLUS_BLESS_SHOWFOLDER; bless_code= ISO_HFSPLUS_BLESS_SHOWFOLDER;
else if(strcmp(blessing, "os9_folder") == 0 || hb= "s";
strcmp(blessing, "9") == 0) } else if(strcmp(blessing, "os9_folder") == 0 ||
strcmp(blessing, "9") == 0) {
bless_code= ISO_HFSPLUS_BLESS_OS9_FOLDER; bless_code= ISO_HFSPLUS_BLESS_OS9_FOLDER;
else if(strcmp(blessing, "osx_folder") == 0 || hb= "9";
strcmp(blessing, "x") == 0 || strcmp(blessing, "X") == 0) } else if(strcmp(blessing, "osx_folder") == 0 ||
strcmp(blessing, "x") == 0 || strcmp(blessing, "X") == 0) {
bless_code= ISO_HFSPLUS_BLESS_OSX_FOLDER; bless_code= ISO_HFSPLUS_BLESS_OSX_FOLDER;
else if((flag & 8) && (flag & 4) && hb= "x";
} else if((flag & 8) && (flag & 4) &&
(strcmp(blessing, "any") == 0 || (strcmp(blessing, "any") == 0 ||
strcmp(blessing, "a") == 0 || strcmp(blessing, "A") == 0)) strcmp(blessing, "a") == 0 || strcmp(blessing, "A") == 0)) {
bless_code= ISO_HFSPLUS_BLESS_MAX; bless_code= ISO_HFSPLUS_BLESS_MAX;
else { } else {
sprintf(xorriso->info_text, "Unknown blessing type "); sprintf(xorriso->info_text, "Unknown blessing type ");
Text_shellsafe(blessing, xorriso->info_text, 1); Text_shellsafe(blessing, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
@ -3695,6 +3785,24 @@ int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
if(ret <= 0) if(ret <= 0)
return(ret); return(ret);
/* Remove persistent bless mark from current bearer */
ret= iso_image_hfsplus_get_blessed(volume, &blessed_nodes, &bless_max, 0);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
Xorriso_report_iso_error(xorriso, "", ret,
"Error when trying to bless a file",
0, "FAILURE", 1);
return(0);
}
if((int) bless_code < bless_max) {
if(blessed_nodes[(int) bless_code] != NULL) {
ret= Xorriso_setfattr(xorriso, node, path,
(size_t) 1, &name, &l, &hb, 4 | 8);
if(ret <= 0)
return(ret);
}
}
ret= iso_image_hfsplus_bless(volume, bless_code, node, flag & 3); ret= iso_image_hfsplus_bless(volume, bless_code, node, flag & 3);
Xorriso_process_msg_queues(xorriso, 0); Xorriso_process_msg_queues(xorriso, 0);
if(ret == 0 && path[0]) { if(ret == 0 && path[0]) {
@ -3717,6 +3825,12 @@ int Xorriso_hfsplus_bless(struct XorrisO *xorriso, char *path,
0, "FAILURE", 1); 0, "FAILURE", 1);
return(0); return(0);
} }
/* Attach persistent bless mark to node */
l= 1;
ret= Xorriso_setfattr(xorriso, node, path, (size_t) 1, &name, &l, &hb, 2 | 8);
if(ret <= 0)
return(ret);
Xorriso_set_change_pending(xorriso, 0); Xorriso_set_change_pending(xorriso, 0);
return(1); return(1);
} }

View File

@ -817,7 +817,8 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
(( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) | (( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) |
(( (!(xorriso->ino_behavior & 2)) || (( (!(xorriso->ino_behavior & 2)) ||
(xorriso->do_aaip & (2 | 8 | 16 | 256)) || (xorriso->do_aaip & (2 | 8 | 16 | 256)) ||
(xorriso->do_md5 & (2 | 4)) (xorriso->do_md5 & (2 | 4)) ||
xorriso->do_hfsplus
) * isoburn_igopt_aaip) | ) * isoburn_igopt_aaip) |
((!!(xorriso->do_md5 & 2)) * isoburn_igopt_session_md5) | ((!!(xorriso->do_md5 & 2)) * isoburn_igopt_session_md5) |
((!!(xorriso->do_md5 & 4)) * isoburn_igopt_file_md5) | ((!!(xorriso->do_md5 & 4)) * isoburn_igopt_file_md5) |

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.2.3, Jun 06, 2012" .TH XORRISO 1 "Version 1.2.3, Jun 07, 2012"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -1666,7 +1666,7 @@ Matches data files which have MD5 checksums.
.br .br
\fB\-has_hfs_crtp\fR creator type : \fB\-has_hfs_crtp\fR creator type :
Matches files which have the given HFS+ creator and type attached. Matches files which have the given HFS+ creator and type attached.
These are codes of 4 characters which may get stored if \-hfsplus is These are codes of 4 characters which get stored if \-hfsplus is
enabled. Use a single dash '\-' as wildcard that matches any such code. enabled. Use a single dash '\-' as wildcard that matches any such code.
E.g:. E.g:.
.br .br
@ -1679,9 +1679,6 @@ Matches files which bear the given HFS+ blessing. It may be one of :
"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder", "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder",
"any". See also action set_hfs_bless. "any". See also action set_hfs_bless.
.br .br
Note that HFS+ information is not read with loaded images. So above two tests
are useful only for listing effective settings before a new image gets written.
.br
\fB\-has_filter\fR : \fB\-has_filter\fR :
Matches files which are filtered by \-set_filter. Matches files which are filtered by \-set_filter.
.br .br
@ -1881,6 +1878,12 @@ E.g.: \-exec set_hfs_crtp YYDN TEXT
.br .br
E.g.: \-find /my/dir \-prune \-exec set_hfs_crtp \-\-delete \- E.g.: \-find /my/dir \-prune \-exec set_hfs_crtp \-\-delete \-
.br .br
\fBget_hfs_crtp\fR
prints the HFS+ creator and type attributes together with the iso_rr_path,
if the file has such attributes at all.
.br
E.g.: \-exec get_hfs_crtp
.br
\fBset_hfs_bless\fR \fBset_hfs_bless\fR
applies or removes HFS+ blessings. They are roles which can be attributed to applies or removes HFS+ blessings. They are roles which can be attributed to
up to four directories and a data file: up to four directories and a data file:
@ -1897,21 +1900,12 @@ No file object can bear more than one blessing.
.br .br
E.g.: \-find /my/blessed/directory \-exec set_hfs_bless p E.g.: \-find /my/blessed/directory \-exec set_hfs_bless p
.br .br
\fBget_hfs_crtp\fR
prints the HFS+ creator and type attributes together with the iso_rr_path,
if the file has such attributes at all.
.br
E.g.: \-exec get_hfs_crtp
.br
\fBget_hfs_bless\fR \fBget_hfs_bless\fR
prints the HFS+ blessing role and the iso_rr_path, if the file is blessed prints the HFS+ blessing role and the iso_rr_path, if the file is blessed
at all. at all.
.br .br
E.g.: \-exec get_hfs_bless E.g.: \-exec get_hfs_bless
.br .br
Note that HFS+ information is not read with loaded images. So above two actions
are useful only for listing effective settings before a new image gets written.
.br
\fBset_filter\fR \fBset_filter\fR
applies or removes filters. applies or removes filters.
.br .br
@ -2282,6 +2276,20 @@ metadata. The second one marks the range from HFS+ metadata to the end
of file content data. If more ISO image data follow, then a third partition of file content data. If more ISO image data follow, then a third partition
entry gets produced. Other features of xorriso might cause the need for entry gets produced. Other features of xorriso might cause the need for
more APM entries. more APM entries.
.br
The HFS+ filesystem is not suitable for add\-on sessions produced by the
multi\-session method of growing. An existing ISO image may nevertheless
be the base for a new image produced by the method of modifying.
If \-hfsplus is enabled when \-indev or \-dev gets executed, then AAIP
attributes get loaded from the input image and checked for information about
HFS creator, filetype, or blessing. If found, then they get enabled as
settings for the next image production.
Therefore it is advisable to perform \-hfsplus "on" before \-indev or \-dev.
.br
Information about HFS creator, type, and blessings gets stored by xorriso
if \-hfsplus is enabled at \-commit time. It is stored as copy outside the
HFS+ partition, but rather along with the Rock Ridge information.
xorriso does not read any information from the HFS+ meta data.
.TP .TP
\fB\-rockridge\fR "on"|"off" \fB\-rockridge\fR "on"|"off"
Mode "off" disables production of Rock Ridge information for the ISO 9660 file Mode "off" disables production of Rock Ridge information for the ISO 9660 file

View File

@ -1510,9 +1510,9 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
Matches data files which have MD5 checksums. Matches data files which have MD5 checksums.
-has_hfs_crtp creator type : -has_hfs_crtp creator type :
Matches files which have the given HFS+ creator and type Matches files which have the given HFS+ creator and type
attached. These are codes of 4 characters which may get attached. These are codes of 4 characters which get stored
stored if -hfsplus is enabled. Use a single dash '-' as if -hfsplus is enabled. Use a single dash '-' as wildcard
wildcard that matches any such code. E.g:. that matches any such code. E.g:.
-has_hfs_crtp YYDN TEXT -has_hfs_crtp YYDN TEXT
-has_hfs_crtp - - -has_hfs_crtp - -
-has_hfs_bless blessing : -has_hfs_bless blessing :
@ -1520,9 +1520,6 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
one of : "ppc_bootdir", "intel_bootfile", "show_folder", one of : "ppc_bootdir", "intel_bootfile", "show_folder",
"os9_folder", "osx_folder", "any". See also action "os9_folder", "osx_folder", "any". See also action
set_hfs_bless. set_hfs_bless.
Note that HFS+ information is not read with loaded images. So
above two tests are useful only for listing effective
settings before a new image gets written.
-has_filter : -has_filter :
Matches files which are filtered by -set_filter. Matches files which are filtered by -set_filter.
-hidden hide_state : -hidden hide_state :
@ -1683,6 +1680,10 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
adds, changes, or removes HFS+ creator and type attributes. adds, changes, or removes HFS+ creator and type attributes.
E.g.: -exec set_hfs_crtp YYDN TEXT E.g.: -exec set_hfs_crtp YYDN TEXT
E.g.: -find /my/dir -prune -exec set_hfs_crtp -delete - E.g.: -find /my/dir -prune -exec set_hfs_crtp -delete -
get_hfs_crtp
prints the HFS+ creator and type attributes together with the
iso_rr_path, if the file has such attributes at all.
E.g.: -exec get_hfs_crtp
set_hfs_bless set_hfs_bless
applies or removes HFS+ blessings. They are roles which can applies or removes HFS+ blessings. They are roles which can
be attributed to up to four directories and a data file: be attributed to up to four directories and a data file:
@ -1696,17 +1697,10 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
the blessing will lose it then. No file object can bear more the blessing will lose it then. No file object can bear more
than one blessing. than one blessing.
E.g.: -find /my/blessed/directory -exec set_hfs_bless p E.g.: -find /my/blessed/directory -exec set_hfs_bless p
get_hfs_crtp
prints the HFS+ creator and type attributes together with the
iso_rr_path, if the file has such attributes at all.
E.g.: -exec get_hfs_crtp
get_hfs_bless get_hfs_bless
prints the HFS+ blessing role and the iso_rr_path, if the prints the HFS+ blessing role and the iso_rr_path, if the
file is blessed at all. file is blessed at all.
E.g.: -exec get_hfs_bless E.g.: -exec get_hfs_bless
Note that HFS+ information is not read with loaded images. So
above two actions are useful only for listing effective
settings before a new image gets written.
set_filter set_filter
applies or removes filters. applies or removes filters.
E.g.: -exec set_filter --zisofs -- E.g.: -exec set_filter --zisofs --
@ -2036,6 +2030,20 @@ according to the setting of command -acl.
ISO image data follow, then a third partition entry gets produced. ISO image data follow, then a third partition entry gets produced.
Other features of xorriso might cause the need for more APM Other features of xorriso might cause the need for more APM
entries. entries.
The HFS+ filesystem is not suitable for add-on sessions produced
by the multi-session method of growing. An existing ISO image may
nevertheless be the base for a new image produced by the method of
modifying. If -hfsplus is enabled when -indev or -dev gets
executed, then AAIP attributes get loaded from the input image and
checked for information about HFS creator, filetype, or blessing.
If found, then they get enabled as settings for the next image
production. Therefore it is advisable to perform -hfsplus "on"
before -indev or -dev.
Information about HFS creator, type, and blessings gets stored by
xorriso if -hfsplus is enabled at -commit time. It is stored as
copy outside the HFS+ partition, but rather along with the Rock
Ridge information. xorriso does not read any information from the
HFS+ meta data.
-rockridge "on"|"off" -rockridge "on"|"off"
Mode "off" disables production of Rock Ridge information for the Mode "off" disables production of Rock Ridge information for the
@ -4441,7 +4449,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* # starts a comment line: Scripting. (line 162) * # starts a comment line: Scripting. (line 162)
* -abort_on controls abort on error: Exception. (line 27) * -abort_on controls abort on error: Exception. (line 27)
* -abstract_file sets abstract file name: SetWrite. (line 211) * -abstract_file sets abstract file name: SetWrite. (line 225)
* -acl controls handling of ACLs: Loading. (line 143) * -acl controls handling of ACLs: Loading. (line 143)
* -add inserts one or more paths: Insert. (line 45) * -add inserts one or more paths: Insert. (line 45)
* -add_plainly inserts one or more paths: Insert. (line 64) * -add_plainly inserts one or more paths: Insert. (line 64)
@ -4449,13 +4457,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date_r sets timestamps in ISO image: Manip. (line 167) * -alter_date_r sets timestamps in ISO image: Manip. (line 167)
* -append_partition adds arbitrary file after image end: Bootable. * -append_partition adds arbitrary file after image end: Bootable.
(line 202) (line 202)
* -application_id sets application id: SetWrite. (line 170) * -application_id sets application id: SetWrite. (line 184)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 84) * -assert_volid rejects undesired images: Loading. (line 84)
* -auto_charset learns character set from image: Loading. (line 98) * -auto_charset learns character set from image: Loading. (line 98)
* -backslash_codes enables backslash conversion: Scripting. (line 67) * -backslash_codes enables backslash conversion: Scripting. (line 67)
* -ban_stdio_write demands real drive: Loading. (line 247) * -ban_stdio_write demands real drive: Loading. (line 247)
* -biblio_file sets biblio file name: SetWrite. (line 218) * -biblio_file sets biblio file name: SetWrite. (line 232)
* -blank erases media: Writing. (line 61) * -blank erases media: Writing. (line 61)
* -boot_image controls bootability: Bootable. (line 26) * -boot_image controls bootability: Bootable. (line 26)
* -calm_drive reduces drive activity: Loading. (line 236) * -calm_drive reduces drive activity: Loading. (line 236)
@ -4474,7 +4482,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chown sets ownership in ISO image: Manip. (line 42) * -chown sets ownership in ISO image: Manip. (line 42)
* -chown_r sets ownership in ISO image: Manip. (line 47) * -chown_r sets ownership in ISO image: Manip. (line 47)
* -clone copies ISO directory tree: Insert. (line 174) * -clone copies ISO directory tree: Insert. (line 174)
* -close controls media closing: SetWrite. (line 313) * -close controls media closing: SetWrite. (line 327)
* -close_damaged closes damaged track and session: Writing. (line 152) * -close_damaged closes damaged track and session: Writing. (line 152)
* -close_filter_list bans filter registration: Filter. (line 52) * -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 29) * -commit writes pending ISO image: Writing. (line 29)
@ -4482,8 +4490,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -compare reports ISO/disk differences: Navigate. (line 146) * -compare reports ISO/disk differences: Navigate. (line 146)
* -compare_l reports ISO/disk differences: Navigate. (line 164) * -compare_l reports ISO/disk differences: Navigate. (line 164)
* -compare_r reports ISO/disk differences: Navigate. (line 159) * -compare_r reports ISO/disk differences: Navigate. (line 159)
* -compliance controls standard compliance: SetWrite. (line 38) * -compliance controls standard compliance: SetWrite. (line 52)
* -copyright_file sets copyright file name: SetWrite. (line 205) * -copyright_file sets copyright file name: SetWrite. (line 219)
* -cp_clone copies ISO directory tree: Insert. (line 186) * -cp_clone copies ISO directory tree: Insert. (line 186)
* -cp_rx copies file trees to disk: Restore. (line 108) * -cp_rx copies file trees to disk: Restore. (line 108)
* -cpax copies files to disk: Restore. (line 104) * -cpax copies files to disk: Restore. (line 104)
@ -4501,11 +4509,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
(line 36) (line 36)
* -drive_class controls drive accessability: Loading. (line 54) * -drive_class controls drive accessability: Loading. (line 54)
* -du show directory size in ISO image: Navigate. (line 89) * -du show directory size in ISO image: Navigate. (line 89)
* -dummy controls write simulation: SetWrite. (line 302) * -dummy controls write simulation: SetWrite. (line 316)
* -dus show directory size in ISO image: Navigate. (line 93) * -dus show directory size in ISO image: Navigate. (line 93)
* -dusx show directory size on disk: Navigate. (line 102) * -dusx show directory size on disk: Navigate. (line 102)
* -dux show directory size on disk: Navigate. (line 97) * -dux show directory size on disk: Navigate. (line 97)
* -dvd_obs set write block size: SetWrite. (line 289) * -dvd_obs set write block size: SetWrite. (line 303)
* -early_stdio_test classifies stdio drives: Loading. (line 252) * -early_stdio_test classifies stdio drives: Loading. (line 252)
* -eject ejects drive tray: Writing. (line 52) * -eject ejects drive tray: Writing. (line 52)
* -end writes pending session and ends program: Scripting. (line 156) * -end writes pending session and ends program: Scripting. (line 156)
@ -4523,12 +4531,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -follow softlinks and mount points: SetInsert. (line 76) * -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 185)
* -format formats media: Writing. (line 88) * -format formats media: Writing. (line 88)
* -fs sets size of fifo: SetWrite. (line 306) * -fs sets size of fifo: SetWrite. (line 320)
* -getfacl shows ACL in ISO image: Navigate. (line 70) * -getfacl shows ACL in ISO image: Navigate. (line 70)
* -getfacl_r shows ACL in ISO image: Navigate. (line 77) * -getfacl_r shows ACL in ISO image: Navigate. (line 77)
* -getfattr shows xattr in ISO image: Navigate. (line 81) * -getfattr shows xattr in ISO image: Navigate. (line 81)
* -getfattr_r shows xattr in ISO image: Navigate. (line 85) * -getfattr_r shows xattr in ISO image: Navigate. (line 85)
* -gid sets global ownership: SetWrite. (line 246) * -gid sets global ownership: SetWrite. (line 260)
* -grow_blindly overides next writeable address: AqDrive. (line 46) * -grow_blindly overides next writeable address: AqDrive. (line 46)
* -hardlinks controls handling of hard links: Loading. (line 110) * -hardlinks controls handling of hard links: Loading. (line 110)
* -help prints help text: Scripting. (line 20) * -help prints help text: Scripting. (line 20)
@ -4575,17 +4583,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -not_paths sets absolute exclusion paths: SetInsert. (line 55) * -not_paths sets absolute exclusion paths: SetInsert. (line 55)
* -options_from_file reads commands from file: Scripting. (line 12) * -options_from_file reads commands from file: Scripting. (line 12)
* -osirrox enables ISO-to-disk copying: Restore. (line 18) * -osirrox enables ISO-to-disk copying: Restore. (line 18)
* -out_charset sets output character set: SetWrite. (line 236) * -out_charset sets output character set: SetWrite. (line 250)
* -outdev acquires a drive for output: AqDrive. (line 31) * -outdev acquires a drive for output: AqDrive. (line 31)
* -overwrite enables overwriting in ISO: SetInsert. (line 127) * -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 158) * -pacifier controls pacifier text form: Emulation. (line 158)
* -padding sets amount or mode of image padding: SetWrite. (line 319) * -padding sets amount or mode of image padding: SetWrite. (line 333)
* -page set terminal geometry: DialogCtl. (line 19) * -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 121) * -paste_in copies file into disk file: Restore. (line 121)
* -path_list inserts paths from disk file: Insert. (line 78) * -path_list inserts paths from disk file: Insert. (line 78)
* -pathspecs sets meaning of = with -add: SetInsert. (line 118) * -pathspecs sets meaning of = with -add: SetInsert. (line 118)
* -pkt_output consolidates text output: Frontend. (line 7) * -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 224) * -preparer_id sets preparer id: SetWrite. (line 238)
* -print prints result text line: Scripting. (line 99) * -print prints result text line: Scripting. (line 99)
* -print_info prints message text line: Scripting. (line 102) * -print_info prints message text line: Scripting. (line 102)
* -print_mark prints synchronizing text line: Scripting. (line 105) * -print_mark prints synchronizing text line: Scripting. (line 105)
@ -4593,7 +4601,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -prog sets program name: Frontend. (line 30) * -prog sets program name: Frontend. (line 30)
* -prog_help prints help text: Frontend. (line 33) * -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 110) * -prompt prompts for enter key: Scripting. (line 110)
* -publisher sets publisher id: SetWrite. (line 164) * -publisher sets publisher id: SetWrite. (line 178)
* -pvd_info shows image id strings: Inquiry. (line 93) * -pvd_info shows image id strings: Inquiry. (line 93)
* -pwd tells working directory in ISO: Navigate. (line 20) * -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23) * -pwdx tells working directory on disk: Navigate. (line 23)
@ -4608,12 +4616,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rm_r deletes trees from ISO image: Manip. (line 28) * -rm_r deletes trees from ISO image: Manip. (line 28)
* -rmdir deletes ISO directory: Manip. (line 32) * -rmdir deletes ISO directory: Manip. (line 32)
* -rockridge disables production of Rock Ridge info: SetWrite. * -rockridge disables production of Rock Ridge info: SetWrite.
(line 32) (line 46)
* -rollback discards pending changes: Writing. (line 9) * -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 159) * -rollback_end ends program without writing: Scripting. (line 159)
* -rom_toc_scan searches for sessions: Loading. (line 211) * -rom_toc_scan searches for sessions: Loading. (line 211)
* -rr_reloc_dir sets name of relocation directory: SetWrite. * -rr_reloc_dir sets name of relocation directory: SetWrite.
(line 121) (line 135)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
* -scsi_log reports SCSI commands: Scripting. (line 147) * -scsi_log reports SCSI commands: Scripting. (line 147)
* -session_log logs written sessions: Scripting. (line 138) * -session_log logs written sessions: Scripting. (line 138)
@ -4631,29 +4639,29 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -signal_handling controls handling of system signals: Exception. * -signal_handling controls handling of system signals: Exception.
(line 69) (line 69)
* -sleep waits for a given time span: Scripting. (line 114) * -sleep waits for a given time span: Scripting. (line 114)
* -speed set write speed: SetWrite. (line 262) * -speed set write speed: SetWrite. (line 276)
* -split_size enables large file splitting: SetInsert. (line 140) * -split_size enables large file splitting: SetInsert. (line 140)
* -status shows current settings: Scripting. (line 47) * -status shows current settings: Scripting. (line 47)
* -status_history_max curbs -status history: Scripting. (line 56) * -status_history_max curbs -status history: Scripting. (line 56)
* -stdio_sync controls stdio buffer: SetWrite. (line 296) * -stdio_sync controls stdio buffer: SetWrite. (line 310)
* -stream_recording controls defect management: SetWrite. (line 277) * -stream_recording controls defect management: SetWrite. (line 291)
* -system_id sets system id: SetWrite. (line 179) * -system_id sets system id: SetWrite. (line 193)
* -tell_media_space reports free space: Inquiry. (line 89) * -tell_media_space reports free space: Inquiry. (line 89)
* -temp_mem_limit curbs memory consumption: Scripting. (line 92) * -temp_mem_limit curbs memory consumption: Scripting. (line 92)
* -toc shows list of sessions: Inquiry. (line 28) * -toc shows list of sessions: Inquiry. (line 28)
* -uid sets global ownership: SetWrite. (line 242) * -uid sets global ownership: SetWrite. (line 256)
* -update inserts path if different: Insert. (line 102) * -update inserts path if different: Insert. (line 102)
* -update_l inserts paths if different: Insert. (line 124) * -update_l inserts paths if different: Insert. (line 124)
* -update_r inserts paths if different: Insert. (line 113) * -update_r inserts paths if different: Insert. (line 113)
* -use_readline enables readline for dialog: DialogCtl. (line 28) * -use_readline enables readline for dialog: DialogCtl. (line 28)
* -version prints help text: Scripting. (line 23) * -version prints help text: Scripting. (line 23)
* -volid sets volume id: SetWrite. (line 140) * -volid sets volume id: SetWrite. (line 154)
* -volset_id sets volume set id: SetWrite. (line 159) * -volset_id sets volume set id: SetWrite. (line 173)
* -volume_date sets volume timestamp: SetWrite. (line 186) * -volume_date sets volume timestamp: SetWrite. (line 200)
* -x enables automatic execution order of arguments: ArgSort. * -x enables automatic execution order of arguments: ArgSort.
(line 16) (line 16)
* -xattr controls handling of xattr (EA): Loading. (line 151) * -xattr controls handling of xattr (EA): Loading. (line 151)
* -zisofs controls zisofs production: SetWrite. (line 250) * -zisofs controls zisofs production: SetWrite. (line 264)
 
File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -4686,7 +4694,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character Set, _definition: Charset. (line 6) * Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92) * Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43) * Character Set, for input/output, -charset: Charset. (line 43)
* Character Set, for output, -out_charset: SetWrite. (line 236) * Character Set, for output, -out_charset: SetWrite. (line 250)
* Character set, learn from image, -auto_charset: Loading. (line 98) * Character set, learn from image, -auto_charset: Loading. (line 98)
* Character Set, of terminal, -local_charset: Charset. (line 47) * Character Set, of terminal, -local_charset: Charset. (line 47)
* Closed media, _definition: Media. (line 43) * Closed media, _definition: Media. (line 43)
@ -4741,8 +4749,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Filter, show chain, -show_stream: Navigate. (line 169) * Filter, show chain, -show_stream: Navigate. (line 169)
* Filter, show chains of tree, -show_stream_r: Navigate. (line 183) * Filter, show chains of tree, -show_stream_r: Navigate. (line 183)
* Filter, unregister, -unregister_filter: Filter. (line 48) * Filter, unregister, -unregister_filter: Filter. (line 48)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 250) * Filter, zisofs parameters, -zisofs: SetWrite. (line 264)
* Group, global in ISO image, -gid: SetWrite. (line 246) * Group, global in ISO image, -gid: SetWrite. (line 260)
* Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp: Manip. (line 50)
* Group, in ISO image, -chgrp_r: Manip. (line 55) * Group, in ISO image, -chgrp_r: Manip. (line 55)
* Growing, _definition: Methods. (line 19) * Growing, _definition: Methods. (line 19)
@ -4754,16 +4762,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, demand volume id, -assert_volid: Loading. (line 84) * Image, demand volume id, -assert_volid: Loading. (line 84)
* Image, discard pending changes, -rollback: Writing. (line 9) * Image, discard pending changes, -rollback: Writing. (line 9)
* Image, override change status, -changes_pending: Writing. (line 13) * Image, override change status, -changes_pending: Writing. (line 13)
* Image, set abstract file name, -abstract_file: SetWrite. (line 211) * Image, set abstract file name, -abstract_file: SetWrite. (line 225)
* Image, set application id, -application_id: SetWrite. (line 170) * Image, set application id, -application_id: SetWrite. (line 184)
* Image, set biblio file name, -biblio_file: SetWrite. (line 218) * Image, set biblio file name, -biblio_file: SetWrite. (line 232)
* Image, set copyright file name, -copyright_file: SetWrite. (line 205) * Image, set copyright file name, -copyright_file: SetWrite. (line 219)
* Image, set preparer id, -preparer_id: SetWrite. (line 224) * Image, set preparer id, -preparer_id: SetWrite. (line 238)
* Image, set publisher id, -publisher: SetWrite. (line 164) * Image, set publisher id, -publisher: SetWrite. (line 178)
* Image, set system id, -system_id: SetWrite. (line 179) * Image, set system id, -system_id: SetWrite. (line 193)
* Image, set volume id, -volid: SetWrite. (line 140) * Image, set volume id, -volid: SetWrite. (line 154)
* Image, set volume set id, -volset_id: SetWrite. (line 159) * Image, set volume set id, -volset_id: SetWrite. (line 173)
* Image, set volume timestamp, -volume_date: SetWrite. (line 186) * Image, set volume timestamp, -volume_date: SetWrite. (line 200)
* Image, show id strings, -pvd_info: Inquiry. (line 93) * Image, show id strings, -pvd_info: Inquiry. (line 93)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
@ -4822,7 +4830,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20) * Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
* Next writeable address, -grow_blindly: AqDrive. (line 46) * Next writeable address, -grow_blindly: AqDrive. (line 46)
* Overwriteable media, _definition: Media. (line 14) * Overwriteable media, _definition: Media. (line 14)
* Ownership, global in ISO image, -uid: SetWrite. (line 242) * Ownership, global in ISO image, -uid: SetWrite. (line 256)
* Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown: Manip. (line 42)
* Ownership, in ISO image, -chown_r: Manip. (line 47) * Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definition: Bootable. (line 146) * Partition offset, _definition: Bootable. (line 146)
@ -4865,7 +4873,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Program, wait a time span, -sleep: Scripting. (line 114) * Program, wait a time span, -sleep: Scripting. (line 114)
* Quoted input, _definition: Processing. (line 46) * Quoted input, _definition: Processing. (line 46)
* Recovery, retrieve blocks, -check_media: Verify. (line 21) * Recovery, retrieve blocks, -check_media: Verify. (line 21)
* Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 121) * Relocation directory, set name, -rr_reloc_dir: SetWrite. (line 135)
* Rename, in ISO image, -mv: Manip. (line 35) * Rename, in ISO image, -mv: Manip. (line 35)
* Restore, copy file into disk file, -paste_in: Restore. (line 121) * Restore, copy file into disk file, -paste_in: Restore. (line 121)
* Restore, copy file piece to disk, -extract_cut: Restore. (line 81) * Restore, copy file piece to disk, -extract_cut: Restore. (line 81)
@ -4902,24 +4910,24 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Verify, file checksum, -check_md5: Verify. (line 153) * Verify, file checksum, -check_md5: Verify. (line 153)
* Verify, file tree checksums, -check_md5_r: Verify. (line 169) * Verify, file tree checksums, -check_md5_r: Verify. (line 169)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 41) * Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
* Write, block size, -dvd_obs: SetWrite. (line 289) * Write, block size, -dvd_obs: SetWrite. (line 303)
* Write, bootability, -boot_image: Bootable. (line 26) * Write, bootability, -boot_image: Bootable. (line 26)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 296) * Write, buffer syncing, -stdio_sync: SetWrite. (line 310)
* Write, close media, -close: SetWrite. (line 313) * Write, close media, -close: SetWrite. (line 327)
* Write, compliance to specs, -compliance: SetWrite. (line 38) * Write, compliance to specs, -compliance: SetWrite. (line 52)
* Write, defect management, -stream_recording: SetWrite. (line 277) * Write, defect management, -stream_recording: SetWrite. (line 291)
* Write, disable Rock Ridge, -rockridge: SetWrite. (line 32) * Write, disable Rock Ridge, -rockridge: SetWrite. (line 46)
* Write, enable HFS+, -hfsplus: SetWrite. (line 14) * Write, enable HFS+, -hfsplus: SetWrite. (line 14)
* Write, enable Joliet, -joliet: SetWrite. (line 10) * Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 306) * Write, fifo size, -fs: SetWrite. (line 320)
* Write, free space, -tell_media_space: Inquiry. (line 89) * Write, free space, -tell_media_space: Inquiry. (line 89)
* Write, log problematic disk files, -errfile_log: Scripting. (line 118) * Write, log problematic disk files, -errfile_log: Scripting. (line 118)
* Write, log written sessions, -session_log: Scripting. (line 138) * Write, log written sessions, -session_log: Scripting. (line 138)
* Write, padding image, -padding: SetWrite. (line 319) * Write, padding image, -padding: SetWrite. (line 333)
* Write, pending ISO image, -commit: Writing. (line 29) * Write, pending ISO image, -commit: Writing. (line 29)
* Write, predict image size, -print_size: Inquiry. (line 80) * Write, predict image size, -print_size: Inquiry. (line 80)
* Write, set speed, -speed: SetWrite. (line 262) * Write, set speed, -speed: SetWrite. (line 276)
* Write, simulation, -dummy: SetWrite. (line 302) * Write, simulation, -dummy: SetWrite. (line 316)
* xattr, _definition: Extras. (line 54) * xattr, _definition: Extras. (line 54)
* xattr, control handling, -xattr: Loading. (line 151) * xattr, control handling, -xattr: Loading. (line 151)
* xattr, set in ISO image, -setfattr: Manip. (line 111) * xattr, set in ISO image, -setfattr: Manip. (line 111)
@ -4948,43 +4956,43 @@ Node: Insert45211
Node: SetInsert55127 Node: SetInsert55127
Node: Manip63703 Node: Manip63703
Node: CmdFind72526 Node: CmdFind72526
Node: Filter87015 Node: Filter86633
Node: Writing91570 Node: Writing91188
Node: SetWrite100534 Node: SetWrite100152
Node: Bootable117479 Node: Bootable117985
Node: Jigdo130890 Node: Jigdo131396
Node: Charset135136 Node: Charset135642
Node: Exception137897 Node: Exception138403
Node: DialogCtl144016 Node: DialogCtl144522
Node: Inquiry146613 Node: Inquiry147119
Node: Navigate151479 Node: Navigate151985
Node: Verify159776 Node: Verify160282
Node: Restore168742 Node: Restore169248
Node: Emulation175651 Node: Emulation176157
Node: Scripting185462 Node: Scripting185968
Node: Frontend192622 Node: Frontend193128
Node: Examples193922 Node: Examples194428
Node: ExDevices195099 Node: ExDevices195605
Node: ExCreate195758 Node: ExCreate196264
Node: ExDialog197043 Node: ExDialog197549
Node: ExGrowing198308 Node: ExGrowing198814
Node: ExModifying199113 Node: ExModifying199619
Node: ExBootable199617 Node: ExBootable200123
Node: ExCharset200169 Node: ExCharset200675
Node: ExPseudo200990 Node: ExPseudo201496
Node: ExCdrecord201888 Node: ExCdrecord202394
Node: ExMkisofs202205 Node: ExMkisofs202711
Node: ExGrowisofs203545 Node: ExGrowisofs204051
Node: ExException204680 Node: ExException205186
Node: ExTime205134 Node: ExTime205640
Node: ExIncBackup205593 Node: ExIncBackup206099
Node: ExRestore209584 Node: ExRestore210090
Node: ExRecovery210544 Node: ExRecovery211050
Node: Files211114 Node: Files211620
Node: Seealso212413 Node: Seealso212919
Node: Bugreport213136 Node: Bugreport213642
Node: Legal213717 Node: Legal214223
Node: CommandIdx214728 Node: CommandIdx215234
Node: ConceptIdx230527 Node: ConceptIdx231033
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.2.3, Jun 06, 2012" @c man .TH XORRISO 1 "Version 1.2.3, Jun 07, 2012"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -2050,9 +2050,6 @@ Matches files which bear the given HFS+ blessing. It may be one of :
"ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder", "ppc_bootdir", "intel_bootfile", "show_folder", "os9_folder", "osx_folder",
"any". See also action set_hfs_bless. "any". See also action set_hfs_bless.
@* @*
Note that HFS+ information is not read with loaded images. So above two tests
are useful only for listing effective settings before a new image gets written.
@*
@item -has_filter : @item -has_filter :
Matches files which are filtered by -set_filter. Matches files which are filtered by -set_filter.
@* @*
@ -2270,6 +2267,12 @@ E.g.: -exec set_hfs_crtp YYDN TEXT
@* @*
E.g.: -find /my/dir -prune -exec set_hfs_crtp --delete - E.g.: -find /my/dir -prune -exec set_hfs_crtp --delete -
@* @*
@item get_hfs_crtp
prints the HFS+ creator and type attributes together with the iso_rr_path,
if the file has such attributes at all.
@*
E.g.: -exec get_hfs_crtp
@*
@item set_hfs_bless @item set_hfs_bless
applies or removes HFS+ blessings. They are roles which can be attributed to applies or removes HFS+ blessings. They are roles which can be attributed to
up to four directories and a data file: up to four directories and a data file:
@ -2286,21 +2289,12 @@ No file object can bear more than one blessing.
@* @*
E.g.: -find /my/blessed/directory -exec set_hfs_bless p E.g.: -find /my/blessed/directory -exec set_hfs_bless p
@* @*
@item get_hfs_crtp
prints the HFS+ creator and type attributes together with the iso_rr_path,
if the file has such attributes at all.
@*
E.g.: -exec get_hfs_crtp
@*
@item get_hfs_bless @item get_hfs_bless
prints the HFS+ blessing role and the iso_rr_path, if the file is blessed prints the HFS+ blessing role and the iso_rr_path, if the file is blessed
at all. at all.
@* @*
E.g.: -exec get_hfs_bless E.g.: -exec get_hfs_bless
@* @*
Note that HFS+ information is not read with loaded images. So above two actions
are useful only for listing effective settings before a new image gets written.
@*
@item set_filter @item set_filter
applies or removes filters. applies or removes filters.
@* @*
@ -2726,6 +2720,20 @@ metadata. The second one marks the range from HFS+ metadata to the end
of file content data. If more ISO image data follow, then a third partition of file content data. If more ISO image data follow, then a third partition
entry gets produced. Other features of xorriso might cause the need for entry gets produced. Other features of xorriso might cause the need for
more APM entries. more APM entries.
@*
The HFS+ filesystem is not suitable for add-on sessions produced by the
multi-session method of growing. An existing ISO image may nevertheless
be the base for a new image produced by the method of modifying.
If -hfsplus is enabled when -indev or -dev gets executed, then AAIP
attributes get loaded from the input image and checked for information about
HFS creator, filetype, or blessing. If found, then they get enabled as
settings for the next image production.
Therefore it is advisable to perform -hfsplus "on" before -indev or -dev.
@*
Information about HFS creator, type, and blessings gets stored by xorriso
if -hfsplus is enabled at -commit time. It is stored as copy outside the
HFS+ partition, but rather along with the Rock Ridge information.
xorriso does not read any information from the HFS+ meta data.
@sp 1 @sp 1
@c man .TP @c man .TP
@item -rockridge "on"|"off" @item -rockridge "on"|"off"

View File

@ -1 +1 @@
#define Xorriso_timestamP "2012.06.06.184910" #define Xorriso_timestamP "2012.06.08.071018"