From 3ee02c766db8d21aecfdab775708a6b935fb872f Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Fri, 30 Jul 2010 15:52:09 +0000 Subject: [PATCH] New option -preparer_id, -as mkisofs options -p and -preparer --- libisoburn/libisoburn.ver | 1 + xorriso/base_obj.c | 2 + xorriso/emulators.c | 10 +- xorriso/lib_mgt.c | 35 +++++++ xorriso/opts_a_c.c | 13 ++- xorriso/opts_p_z.c | 16 +++ xorriso/parse_exec.c | 7 +- xorriso/text_io.c | 8 +- xorriso/write_run.c | 19 +--- xorriso/xorriso.1 | 16 +++ xorriso/xorriso.h | 3 + xorriso/xorriso.info | 193 ++++++++++++++++++++---------------- xorriso/xorriso.texi | 20 +++- xorriso/xorriso_private.h | 2 + xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisoburn.h | 6 ++ 16 files changed, 237 insertions(+), 116 deletions(-) diff --git a/libisoburn/libisoburn.ver b/libisoburn/libisoburn.ver index 5c24ca45..861c8bd0 100644 --- a/libisoburn/libisoburn.ver +++ b/libisoburn/libisoburn.ver @@ -194,6 +194,7 @@ Xorriso_option_paste_in; Xorriso_option_path_list; Xorriso_option_pathspecs; Xorriso_option_pkt_output; +Xorriso_option_preparer_id; Xorriso_option_print; Xorriso_option_print_size; Xorriso_option_prog; diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index 3a9972d2..e08cddf8 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -125,6 +125,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->loaded_volid[0]= 0; m->assert_volid[0]= 0; m->assert_volid_sev[0]= 0; + m->preparer_id[0]= 0; m->publisher[0]= 0; m->application_id[0]= 0; m->system_id[0]= 0; @@ -352,6 +353,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) ret= Xorriso_lst_new(&(m->drive_greylist), "/dev", m->drive_greylist, 1); if(ret <= 0) goto failure; + Xorriso_preparer_string(m, m->preparer_id, 1); /* avoids library calls */ return(1); failure:; diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 5328a549..66982333 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -542,7 +542,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "-hidden", "-hidden-list", "-hide-joliet", "-hide-joliet-list", "-hide-udf", "-hide-udf-list", "-input-charset", "-output-charset", "-iso-level", "-jcharset", "-log-file", "-m", "-exclude-list", "-M", - "-dev", "-new-dir-mode", "-o", "-path-list", "-publisher", "-p", "-root", + "-dev", "-new-dir-mode", "-o", "-p", "-preparer", + "-path-list", "-publisher", "-root", "-old-root", "-s", "-sectype", "-sort", "-sparc-boot", "-sparc-label", "-stream-media-size", "-stream-file-name", "-sunx86-boot", "-sunx86-label", "-sysid", "-table-name", "-ucs-level", "-uid", "-V", "-volset", @@ -611,7 +612,7 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom, "" }; static char ignored_arg1_options[][41]= { - "-check-session", "-hide-hfs", "-hide-hfs-list", "-p", "-preparer", "-root", + "-check-session", "-hide-hfs", "-hide-hfs-list", "-root", "-old-root", "-table-name", "-volset-seqno", "-volset-size", "" }; @@ -713,6 +714,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -abstract FILE Set Abstract filename", " -biblio FILE Set Bibliographic filename", " -copyright FILE Set Copyright filename", +" -p PREP, -preparer PREP Set Volume preparer", " -b FILE, -eltorito-boot FILE", " Set El Torito boot image name", " -eltorito-alt-boot Start specifying alternative El Torito boot parameters", @@ -1142,6 +1144,7 @@ not_enough_args:; /* was already handled in first argument scan */; } else if(strcmp(argv[i], "-V")==0 || strcmp(argv[i], "-volid")==0 || strcmp(argv[i], "-volset")==0 || + strcmp(argv[i], "-p")==0 || strcmp(argv[i], "-preparer")==0 || strcmp(argv[i], "-P")==0 || strcmp(argv[i], "-publisher")==0 || strcmp(argv[i], "-A")==0 || strcmp(argv[i], "-appid")==0 || strcmp(argv[i], "-sysid")==0 || @@ -1156,6 +1159,9 @@ not_enough_args:; ret= Xorriso_option_volid(xorriso, argv[i], 0); else if(strcmp(argv[i - 1], "-volset")==0) ret= Xorriso_option_volset_id(xorriso, argv[i], 0); + else if(strcmp(argv[i - 1], "-p")==0 || + strcmp(argv[i - 1], "-preparer")==0) + ret= Xorriso_option_preparer_id(xorriso, argv[i], 0); else if(strcmp(argv[i - 1], "-P")==0 || strcmp(argv[i - 1], "-publisher")==0) ret= Xorriso_option_publisher(xorriso, argv[i], 0); diff --git a/xorriso/lib_mgt.c b/xorriso/lib_mgt.c index cc41e829..30825170 100644 --- a/xorriso/lib_mgt.c +++ b/xorriso/lib_mgt.c @@ -181,6 +181,10 @@ LIBISOBURN_MISCONFIGURATION_ = 0; xorriso->zlib_level= xorriso->zlib_level_default= zisofs_ctrl.compression_level; } + + /* Second initialization. This time with libs. */ + Xorriso_preparer_string(xorriso, xorriso->preparer_id, 0); + Xorriso_process_msg_queues(xorriso,0); if(reason[0]) { sprintf(xorriso->info_text, "%s", reason); @@ -486,3 +490,34 @@ int Xorriso_md5_end(struct XorrisO *xorriso, void **ctx, char md5[16], return(1); } + +/* @param flag bit0= avoid library calls + */ +int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129], + int flag) +{ + int major, minor, micro; + + xorriso_id[0]= 0; + sprintf(xorriso_id, "XORRISO-%d.%d.%d", + Xorriso_header_version_majoR, Xorriso_header_version_minoR, + Xorriso_header_version_micrO); + if(strlen(xorriso_id) + strlen(Xorriso_timestamP) < 128) + strcat(xorriso_id, Xorriso_timestamP); + if(flag & 1) + return(1); + isoburn_version(&major, &minor, µ); + if(strlen(xorriso_id) < 100) + sprintf(xorriso_id + strlen(xorriso_id), + ", LIBISOBURN-%d.%d.%d", major, minor, micro); + iso_lib_version(&major, &minor, µ); + if(strlen(xorriso_id) < 100) + sprintf(xorriso_id + strlen(xorriso_id), + ", LIBISOFS-%d.%d.%d", major, minor, micro); + burn_version(&major, &minor, µ); + if(strlen(xorriso_id) < 100) + sprintf(xorriso_id + strlen(xorriso_id), + ", LIBBURN-%d.%d.%d", major, minor, micro); + return(1); +} + diff --git a/xorriso/opts_a_c.c b/xorriso/opts_a_c.c index ab20259d..76d62d50 100644 --- a/xorriso/opts_a_c.c +++ b/xorriso/opts_a_c.c @@ -259,11 +259,14 @@ ex:; int Xorriso_option_application_id(struct XorrisO *xorriso, char *name, int flag) { - if(Xorriso_check_name_len(xorriso, name, - (int) sizeof(xorriso->application_id), - "-application_id", 0) <= 0) - return(0); - strcpy(xorriso->application_id,name); + if(Xorriso_check_name_len(xorriso, name, + (int) sizeof(xorriso->application_id), + "-application_id", 0) <= 0) + return(0); + if(strcmp(name, "@xorriso@") == 0) + Xorriso_preparer_string(xorriso, xorriso->application_id, 0); + else + strcpy(xorriso->application_id,name); Xorriso_set_change_pending(xorriso, 1); return(1); } diff --git a/xorriso/opts_p_z.c b/xorriso/opts_p_z.c index 9bc17c9f..59fd3ad7 100644 --- a/xorriso/opts_p_z.c +++ b/xorriso/opts_p_z.c @@ -218,6 +218,22 @@ int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag) } +/* Option -preparer_id */ +int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag) +{ + if(Xorriso_check_name_len(xorriso, name, + (int) sizeof(xorriso->preparer_id), + "-preparer_id", 0) <= 0) + return(0); + if(strcmp(name, "@xorriso@") == 0) + Xorriso_preparer_string(xorriso, xorriso->preparer_id, 0); + else + strcpy(xorriso->preparer_id, name); + Xorriso_set_change_pending(xorriso, 1); + return(1); +} + + /* Option -print */ int Xorriso_option_print(struct XorrisO *xorriso, char *text, int flag) { diff --git a/xorriso/parse_exec.c b/xorriso/parse_exec.c index 1b0dbab9..9d13cb50 100644 --- a/xorriso/parse_exec.c +++ b/xorriso/parse_exec.c @@ -465,7 +465,8 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv, "list_delimiter","list_profiles","local_charset", "mark","md5","mount_opts","not_leaf","not_list","not_mgt", "options_from_file","osirrox","outdev","out_charset","overwrite", - "pacifier","padding","path_list","pathspecs","pkt_output","print","prompt", + "pacifier","padding","path_list","pathspecs","pkt_output", + "preparer_id","print","prompt", "prog","prog_help","publisher","quoted_not_list","quoted_path_list", "reassure","report_about","rom_toc_scan","scsi_log", "session_log","speed","split_size","status","status_history_max", @@ -1114,6 +1115,10 @@ next_command:; (*idx)++; ret= Xorriso_option_pkt_output(xorriso, arg1, 0); + } else if(strcmp(cmd,"preparer_id")==0) { + (*idx)++; + ret= Xorriso_option_preparer_id(xorriso, arg1, 0); + } else if(strcmp(cmd,"print")==0) { (*idx)++; ret= Xorriso_option_print(xorriso, arg1, 0); diff --git a/xorriso/text_io.c b/xorriso/text_io.c index 45a93c8d..4fa01dee 100644 --- a/xorriso/text_io.c +++ b/xorriso/text_io.c @@ -1087,7 +1087,7 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) int part_table_implicit= 0; char *line, sfe[5 * SfileadrL + 80], mode[80], *form, *treatment; char *in_pt, *out_pt, *nl_charset, *local_charset, *mode_pt; - char *dev_filter= NULL; + char *dev_filter= NULL, xorriso_id[129]; static char channel_prefixes[4][4]= {".","R","I","M"}; static char load_names[][20]= {"auto", "session", "track", "lba", "volid"}; static int max_load_mode= 4; @@ -1382,6 +1382,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag) Xorriso_status_result(xorriso,filter,fp,flag&2); } + Xorriso_preparer_string(xorriso, xorriso_id, 0); + is_default= (strcmp(xorriso->preparer_id, xorriso_id) == 0); + sprintf(line,"-preparer_id %s\n",Text_shellsafe(xorriso->preparer_id,sfe,0)); + if(!(is_default && no_defaults)) + Xorriso_status_result(xorriso,filter,fp,flag&2); + is_default= (xorriso->publisher[0]==0); sprintf(line,"-publisher %s\n",Text_shellsafe(xorriso->publisher,sfe,0)); if(!(is_default && no_defaults)) diff --git a/xorriso/write_run.c b/xorriso/write_run.c index 2ff3b6bc..5c4ca23b 100644 --- a/xorriso/write_run.c +++ b/xorriso/write_run.c @@ -487,7 +487,7 @@ ex:; int Xorriso_write_session(struct XorrisO *xorriso, int flag) { int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext, is_bootable= 0; - int major, minor, micro, freshly_bootable= 0, hide_attr; + int freshly_bootable= 0, hide_attr; char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs; struct isoburn_imgen_opts *sopts= NULL; struct burn_drive_info *dinfo, *source_dinfo; @@ -692,22 +692,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag) xorriso->scdbackup_tag_time, xorriso->scdbackup_tag_written); if(image!=NULL && 12+strlen(Xorriso_timestamP)<80) { - sprintf(xorriso_id, "XORRISO-%d.%d.%d %s", - Xorriso_header_version_majoR, Xorriso_header_version_minoR, - Xorriso_header_version_micrO, Xorriso_timestamP); - isoburn_version(&major, &minor, µ); - if(strlen(xorriso_id)<80) - sprintf(xorriso_id+strlen(xorriso_id), - ", LIBISOBURN-%d.%d.%d", major, minor, micro); - iso_lib_version(&major, &minor, µ); - if(strlen(xorriso_id)<80) - sprintf(xorriso_id+strlen(xorriso_id), - ", LIBISOFS-%d.%d.%d", major, minor, micro); - burn_version(&major, &minor, µ); - if(strlen(xorriso_id)<80) - sprintf(xorriso_id+strlen(xorriso_id), - ", LIBBURN-%d.%d.%d", major, minor, micro); - xorriso_id[128]= 0; + strcpy(xorriso_id, xorriso->preparer_id); img_id= (char *) iso_image_get_data_preparer_id(image); if(img_id!=NULL) { for(i= strlen(img_id)-1; i>=0 && img_id[i]==' '; i--); diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index f9fe9cf9..dabf751f 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -2043,6 +2043,10 @@ Set the application id string to be written with the next -commit. This may identify the specification of how the data are recorded. Permissible are up to 128 characters. This setting gets overridden by image loading. +.br +The special text "@xorriso@" gets converted to the id string of xorriso +which is normally written as -preparer_id. It is a wrong tradition to write +the program id as -application_id. .TP \fB\-system_id\fR text Set the system id string to be written with the next -commit. This may @@ -2099,6 +2103,18 @@ records. Permissible are up to 37 characters. This setting gets overridden by image loading. .TP +\fB\-preparer_id\fR +Set the preparer id string to be written with the next -commit. This may +identify the person or other entity which controls the preparation of the data +which shall be recorded. Normally this should be the id of xorriso and not +of the person or program which operates xorriso. Please avoid to change it. +Permissible are up to 128 characters. +.br +The special text "@xorriso@" gets converted to the id string of xorriso +which is default at program startup. +.br +Unlike other id strings, this setting is not influenced by image loading. +.TP \fB\-out_charset\fR character_set_name Set the character set to which file names get converted when writing an image. See paragraph "Character sets" for more explanations. diff --git a/xorriso/xorriso.h b/xorriso/xorriso.h index aff46188..97bb1dbf 100644 --- a/xorriso/xorriso.h +++ b/xorriso/xorriso.h @@ -1000,6 +1000,9 @@ int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag); /* Option -pkt_output */ int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag); +/* Option -preparer_id */ +int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag); + /* Option -print */ int Xorriso_option_print(struct XorrisO *xorriso, char *text, int flag); diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 2ee25b94..11fd580a 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -1,5 +1,5 @@ -This is xorriso.info, produced by makeinfo version 4.8 from -./xorriso.texi. +This is xorriso/xorriso.info, produced by makeinfo version 4.8 from +./xorriso/xorriso.texi. INFO-DIR-SECTION Archiving START-INFO-DIR-ENTRY @@ -1830,6 +1830,9 @@ will be written according to the setting of option -acl. This may identify the specification of how the data are recorded. Permissible are up to 128 characters. This setting gets overridden by image loading. + The special text "@xorriso@" gets converted to the id string of + xorriso which is normally written as -preparer_id. It is a wrong + tradition to write the program id as -application_id. -system_id text Set the system id string to be written with the next -commit. This @@ -1876,6 +1879,18 @@ will be written according to the setting of option -acl. bibliographic records. Permissible are up to 37 characters. This setting gets overridden by image loading. +-preparer_id + Set the preparer id string to be written with the next -commit. + This may identify the person or other entity which controls the + preparation of the data which shall be recorded. Normally this + should be the id of xorriso and not of the person or program which + operates xorriso. Please avoid to change it. Permissible are up + to 128 characters. + The special text "@xorriso@" gets converted to the id string of + xorriso which is default at program startup. + Unlike other id strings, this setting is not influenced by image + loading. + -out_charset character_set_name Set the character set to which file names get converted when writing an image. See paragraph "Character sets" for more @@ -3711,7 +3726,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * # starts a comment line: Scripting. (line 128) * -abort_on controls abort on error: Exception. (line 27) -* -abstract_file sets abstract file name: SetWrite. (line 128) +* -abstract_file sets abstract file name: SetWrite. (line 131) * -acl controls handling of ACLs: Loading. (line 123) * -add inserts one or more paths: Insert. (line 42) * -add_plainly inserts one or more paths: Insert. (line 61) @@ -3723,7 +3738,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -auto_charset learns character set from image: Loading. (line 80) * -backslash_codes enables backslash conversion: Scripting. (line 45) * -ban_stdio_write demands real drive: Loading. (line 220) -* -biblio_file sets biblio file name: SetWrite. (line 135) +* -biblio_file sets biblio file name: SetWrite. (line 138) * -blank erases media: Writing. (line 45) * -boot_image controls bootability: Bootable. (line 20) * -calm_drive reduces drive activity: Loading. (line 209) @@ -3740,7 +3755,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -chmod_r sets permissions in ISO image: Manip. (line 70) * -chown sets ownership in ISO image: Manip. (line 42) * -chown_r sets ownership in ISO image: Manip. (line 47) -* -close controls media closing: SetWrite. (line 218) +* -close controls media closing: SetWrite. (line 233) * -close_filter_list bans filter registration: Filter. (line 52) * -commit writes pending ISO image: Writing. (line 13) * -commit_eject writes and ejects: Writing. (line 40) @@ -3748,7 +3763,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -compare_l reports ISO/disk differences: Navigate. (line 152) * -compare_r reports ISO/disk differences: Navigate. (line 147) * -compliance controls standard compliance: SetWrite. (line 14) -* -copyright_file sets copyright file name: SetWrite. (line 122) +* -copyright_file sets copyright file name: SetWrite. (line 125) * -cp_rx copies file trees to disk: Restore. (line 104) * -cpax copies files to disk: Restore. (line 100) * -cpr inserts like with cp -r: Insert. (line 152) @@ -3761,11 +3776,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -disk_pattern controls pattern expansion: Insert. (line 31) * -drive_class controls drive accessability: Loading. (line 35) * -du show directory size in ISO image: Navigate. (line 88) -* -dummy controls write simulation: SetWrite. (line 207) +* -dummy controls write simulation: SetWrite. (line 222) * -dus show directory size in ISO image: Navigate. (line 92) * -dusx show directory size on disk: Navigate. (line 101) * -dux show directory size on disk: Navigate. (line 96) -* -dvd_obs set write block size: SetWrite. (line 194) +* -dvd_obs set write block size: SetWrite. (line 209) * -eject ejects drive tray: Writing. (line 36) * -end writes pending session and ends program: Scripting. (line 122) * -errfile_log logs problematic disk files: Scripting. (line 84) @@ -3782,12 +3797,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -follow softlinks and mount points: SetInsert. (line 76) * -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 158) * -format formats media: Writing. (line 69) -* -fs sets size of fifo: SetWrite. (line 211) +* -fs sets size of fifo: SetWrite. (line 226) * -getfacl shows ACL in ISO image: Navigate. (line 69) * -getfacl_r shows ACL in ISO image: Navigate. (line 76) * -getfattr shows xattr in ISO image: Navigate. (line 80) * -getfattr_r shows xattr in ISO image: Navigate. (line 84) -* -gid sets global ownership: SetWrite. (line 151) +* -gid sets global ownership: SetWrite. (line 166) * -grow_blindly overides next writeable address: AqDrive. (line 44) * -hardlinks controls handling of hard links: Loading. (line 91) * -help prints help text: Scripting. (line 16) @@ -3828,16 +3843,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -not_paths sets absolute exclusion paths: SetInsert. (line 55) * -options_from_file reads commands from file: Scripting. (line 12) * -osirrox enables ISO-to-disk copying: Restore. (line 18) -* -out_charset sets output character set: SetWrite. (line 141) +* -out_charset sets output character set: SetWrite. (line 156) * -outdev aquires a drive for output: AqDrive. (line 29) * -overwrite enables overwriting in ISO: SetInsert. (line 127) * -pacifier controls pacifier text form: Emulation. (line 119) -* -padding sets amount of image padding: SetWrite. (line 224) +* -padding sets amount of image padding: SetWrite. (line 239) * -page set terminal geometry: DialogCtl. (line 15) * -paste_in copies file into disk file: Restore. (line 117) * -path_list inserts paths from disk file: Insert. (line 75) * -pathspecs sets meaning of = with -add: SetInsert. (line 118) * -pkt_output consolidates text output: Frontend. (line 7) +* -preparer_id sets preparer id: SetWrite. (line 144) * -print prints text line: Scripting. (line 77) * -print_size predicts image size: Inquiry. (line 69) * -prog sets program name: Frontend. (line 29) @@ -3874,17 +3890,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -setfattr_r sets xattr in ISO image: Manip. (line 123) * -show_stream shows data source and filters: Navigate. (line 157) * -show_stream_r shows data source and filters: Navigate. (line 172) -* -speed set write speed: SetWrite. (line 167) +* -speed set write speed: SetWrite. (line 182) * -split_size enables large file splitting: SetInsert. (line 140) * -status shows current settings: Scripting. (line 25) * -status_history_max curbs -status history: Scripting. (line 34) -* -stdio_sync controls stdio buffer: SetWrite. (line 201) -* -stream_recording controls defect management: SetWrite. (line 182) -* -system_id sets system id: SetWrite. (line 96) +* -stdio_sync controls stdio buffer: SetWrite. (line 216) +* -stream_recording controls defect management: SetWrite. (line 197) +* -system_id sets system id: SetWrite. (line 99) * -tell_media_space reports free space: Inquiry. (line 74) * -temp_mem_limit curbs memory consumption: Scripting. (line 70) * -toc shows list of sessions: Inquiry. (line 18) -* -uid sets global ownership: SetWrite. (line 147) +* -uid sets global ownership: SetWrite. (line 162) * -update inserts path if different: Insert. (line 99) * -update_l inserts paths if different: Insert. (line 121) * -update_r inserts paths if different: Insert. (line 110) @@ -3892,9 +3908,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -version prints help text: Scripting. (line 19) * -volid sets volume id: SetWrite. (line 60) * -volset_id sets volume set id: SetWrite. (line 79) -* -volume_date sets volume timestamp: SetWrite. (line 103) +* -volume_date sets volume timestamp: SetWrite. (line 106) * -xattr controls handling of xattr (EA): Loading. (line 131) -* -zisofs controls zisofs production: SetWrite. (line 155) +* -zisofs controls zisofs production: SetWrite. (line 170)  File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -3924,7 +3940,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character Set, _definition: Charset. (line 6) * Character Set, for input, -in_charset: Loading. (line 73) * Character Set, for input/output, -charset: Charset. (line 43) -* Character Set, for output, -out_charset: SetWrite. (line 141) +* Character Set, for output, -out_charset: SetWrite. (line 156) * Character set, learn from image, -auto_charset: Loading. (line 80) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 39) @@ -3968,8 +3984,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, show chain, -show_stream: Navigate. (line 157) * Filter, show chains of tree, -show_stream_r: Navigate. (line 172) * Filter, unregister, -unregister_filter: Filter. (line 48) -* Filter, zisofs parameters, -zisofs: SetWrite. (line 155) -* Group, global in ISO image, -gid: SetWrite. (line 151) +* Filter, zisofs parameters, -zisofs: SetWrite. (line 170) +* Group, global in ISO image, -gid: SetWrite. (line 166) * Group, in ISO image, -chgrp: Manip. (line 50) * Group, in ISO image, -chgrp_r: Manip. (line 55) * Growing, _definition: Methods. (line 19) @@ -3978,15 +3994,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Image, _definition: Model. (line 9) * Image, demand volume id, -assert_volid: Loading. (line 65) * Image, discard pending changes, -rollback: Writing. (line 9) -* Image, set abstract file name, -abstract_file: SetWrite. (line 128) +* Image, set abstract file name, -abstract_file: SetWrite. (line 131) * Image, set application id, -application_id: SetWrite. (line 90) -* Image, set biblio file name, -biblio_file: SetWrite. (line 135) -* Image, set copyright file name, -copyright_file: SetWrite. (line 122) +* Image, set biblio file name, -biblio_file: SetWrite. (line 138) +* Image, set copyright file name, -copyright_file: SetWrite. (line 125) +* Image, set preparer id, -preparer_id: SetWrite. (line 144) * Image, set publisher id, -publisher: SetWrite. (line 84) -* Image, set system id, -system_id: SetWrite. (line 96) +* Image, set system id, -system_id: SetWrite. (line 99) * Image, set volume id, -volid: SetWrite. (line 60) * Image, set volume set id, -volset_id: SetWrite. (line 79) -* Image, set volume timestamp, -volume_date: SetWrite. (line 103) +* Image, set volume timestamp, -volume_date: SetWrite. (line 106) * Image, show id strings, -pvd_info: Inquiry. (line 78) * Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) @@ -4040,7 +4057,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Navigate, tell ISO working directory, -pwd: Navigate. (line 20) * Next writeable address, -grow_blindly: AqDrive. (line 44) * Overwriteable media, _definition: Media. (line 10) -* Ownership, global in ISO image, -uid: SetWrite. (line 147) +* Ownership, global in ISO image, -uid: SetWrite. (line 162) * Ownership, in ISO image, -chown: Manip. (line 42) * Ownership, in ISO image, -chown_r: Manip. (line 47) * Partition table, _definiton: Bootable. (line 119) @@ -4108,22 +4125,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Verify, file checksum, -check_md5: Verify. (line 144) * Verify, file tree checksums, -check_md5_r: Verify. (line 160) * Verify, preset -check_media, -check_media_defaults: Verify. (line 40) -* Write, block size, -dvd_obs: SetWrite. (line 194) +* Write, block size, -dvd_obs: SetWrite. (line 209) * Write, bootability, -boot_image: Bootable. (line 20) -* Write, buffer syncing, -stdio_sync: SetWrite. (line 201) -* Write, close media, -close: SetWrite. (line 218) +* Write, buffer syncing, -stdio_sync: SetWrite. (line 216) +* Write, close media, -close: SetWrite. (line 233) * Write, compliance to specs, -compliance: SetWrite. (line 14) -* Write, defect management, -stream_recording: SetWrite. (line 182) +* Write, defect management, -stream_recording: SetWrite. (line 197) * Write, enable Joliet, -joliet: SetWrite. (line 10) -* Write, fifo size, -fs: SetWrite. (line 211) +* Write, fifo size, -fs: SetWrite. (line 226) * Write, free space, -tell_media_space: Inquiry. (line 74) * Write, log problematic disk files, -errfile_log: Scripting. (line 84) * Write, log written sessions, -session_log: Scripting. (line 104) -* Write, padding image, -padding: SetWrite. (line 224) +* Write, padding image, -padding: SetWrite. (line 239) * Write, pending ISO image, -commit: Writing. (line 13) * Write, predict image size, -print_size: Inquiry. (line 69) -* Write, set speed, -speed: SetWrite. (line 167) -* Write, simulation, -dummy: SetWrite. (line 207) +* Write, set speed, -speed: SetWrite. (line 182) +* Write, simulation, -dummy: SetWrite. (line 222) * xattr, _definiton: Extras. (line 51) * xattr, control handling, -xattr: Loading. (line 131) * xattr, set in ISO image, -setfattr: Manip. (line 110) @@ -4135,57 +4152,57 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top  Tag Table: -Node: Top420 -Node: Overview1324 -Node: Model3209 -Node: Media6089 -Node: Methods8519 -Node: Drives11066 -Node: Extras14372 -Node: Processing17799 -Node: Dialog21295 -Node: Options22952 -Node: AqDrive24520 -Node: Loading27426 -Node: Insert39605 -Node: SetInsert47962 -Node: Manip56529 -Node: CmdFind65210 -Node: Filter75161 -Node: Writing79510 -Node: SetWrite85799 -Node: Bootable96961 -Node: Charset104913 -Node: Exception107667 -Node: DialogCtl112182 -Node: Inquiry114527 -Node: Navigate118657 -Node: Verify126255 -Node: Restore134675 -Node: Emulation141331 -Node: Scripting148929 -Node: Frontend154491 -Node: Examples155692 -Node: ExDevices156861 -Node: ExCreate157495 -Node: ExDialog158769 -Node: ExGrowing160031 -Node: ExModifying160833 -Node: ExBootable161334 -Node: ExCharset161881 -Node: ExPseudo162709 -Node: ExCdrecord163603 -Node: ExMkisofs163918 -Node: ExGrowisofs164921 -Node: ExException166045 -Node: ExTime166499 -Node: ExIncBackup166958 -Node: ExRestore170430 -Node: ExRecovery171399 -Node: Files171965 -Node: Seealso173193 -Node: Legal173717 -Node: CommandIdx174639 -Node: ConceptIdx188372 +Node: Top436 +Node: Overview1340 +Node: Model3225 +Node: Media6105 +Node: Methods8535 +Node: Drives11082 +Node: Extras14388 +Node: Processing17815 +Node: Dialog21311 +Node: Options22968 +Node: AqDrive24536 +Node: Loading27442 +Node: Insert39621 +Node: SetInsert47978 +Node: Manip56545 +Node: CmdFind65226 +Node: Filter75177 +Node: Writing79526 +Node: SetWrite85815 +Node: Bootable97764 +Node: Charset105716 +Node: Exception108470 +Node: DialogCtl112985 +Node: Inquiry115330 +Node: Navigate119460 +Node: Verify127058 +Node: Restore135478 +Node: Emulation142134 +Node: Scripting149732 +Node: Frontend155294 +Node: Examples156495 +Node: ExDevices157664 +Node: ExCreate158298 +Node: ExDialog159572 +Node: ExGrowing160834 +Node: ExModifying161636 +Node: ExBootable162137 +Node: ExCharset162684 +Node: ExPseudo163512 +Node: ExCdrecord164406 +Node: ExMkisofs164721 +Node: ExGrowisofs165724 +Node: ExException166848 +Node: ExTime167302 +Node: ExIncBackup167761 +Node: ExRestore171233 +Node: ExRecovery172202 +Node: Files172768 +Node: Seealso173996 +Node: Legal174520 +Node: CommandIdx175442 +Node: ConceptIdx189248  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index f029511d..6e3549ff 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -44,7 +44,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 "Jun 27, 2010" +@c man .TH XORRISO 1 "Jul 30, 2010" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -2461,6 +2461,10 @@ Set the application id string to be written with the next -commit. This may identify the specification of how the data are recorded. Permissible are up to 128 characters. This setting gets overridden by image loading. +@* +The special text "@@xorriso@@" gets converted to the id string of xorriso +which is normally written as -preparer_id. It is a wrong tradition to write +the program id as -application_id. @c man .TP @item -system_id text @kindex -system_id sets system id @@ -2527,6 +2531,20 @@ records. Permissible are up to 37 characters. This setting gets overridden by image loading. @c man .TP +@item -preparer_id +@kindex -preparer_id sets preparer id +@cindex Image, set preparer id, -preparer_id +Set the preparer id string to be written with the next -commit. This may +identify the person or other entity which controls the preparation of the data +which shall be recorded. Normally this should be the id of xorriso and not +of the person or program which operates xorriso. Please avoid to change it. +Permissible are up to 128 characters. +@* +The special text "@@xorriso@@" gets converted to the id string of xorriso +which is default at program startup. +@* +Unlike other id strings, this setting is not influenced by image loading. +@c man .TP @item -out_charset character_set_name @kindex -out_charset sets output character set @cindex Character Set, for output, -out_charset diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index 55f38c1c..60588273 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -169,6 +169,8 @@ struct XorrisO { /* the global context of xorriso */ char assert_volid[SfileadrL]; char assert_volid_sev[80]; + char preparer_id[129]; + char publisher[129]; char application_id[129]; char system_id[33]; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index ed4433e8..2652db27 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2010.07.29.164843" +#define Xorriso_timestamP "2010.07.30.155123" diff --git a/xorriso/xorrisoburn.h b/xorriso/xorrisoburn.h index b699bb85..ab4797c1 100644 --- a/xorriso/xorrisoburn.h +++ b/xorriso/xorrisoburn.h @@ -534,5 +534,11 @@ int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int Xorriso_set_hidden(struct XorrisO *xorriso, void *in_node, char *path, int hide_state, int flag); + +/* @param flag bit0= avoid library calls + */ +int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129], + int flag); + #endif /* Xorrisoburn_includeD */