13 #include "../config.h"
17 #include <sys/types.h>
43 char severity[20], *official;
48 sprintf(xorriso->
info_text,
"-abort_on: Not a known severity name : ");
70 "-abstract_file", 0) <= 0)
82 if(strcmp(mode,
"off")==0)
84 else if(strcmp(mode,
"on")==0)
87 sprintf(xorriso->
info_text,
"-acl: unknown mode '%s'", mode);
105 for(; *rpt != 0; rpt++) {
107 if(*(rpt + 1) ==
'=')
109 if((flag & 8) && *(rpt + 1) ==
'\\')
126 int i, end_idx, ret, was_failure= 0, fret, optc= 0, split, as_mkisofs= 0;
127 char *target= NULL, *source= NULL, *ept, *eff_path= NULL;
143 for(i= 0; i<optc; i++) {
146 strcpy(source, optv[i]);
153 strcpy(source, ept+1);
166 strcpy(target, source);
170 sprintf(xorriso->
info_text,
"Effective path gets much too long (%d)",
171 (
int) (strlen(xorriso->
wdi)+strlen(target)+1));
173 goto problem_handler;
179 goto problem_handler;
180 strcpy(target, eff_path);
183 goto problem_handler;
184 strcpy(source, eff_path);
186 ret=
Xorriso_graft_in(xorriso, NULL, source, target, (off_t)0, (off_t)0, 0);
187 if(ret<=0 || xorriso->request_to_abort)
188 goto problem_handler;
189 sprintf(xorriso->
info_text,
"Added to ISO image: %s '%s'='%s'\n",
190 (ret>1 ?
"directory" :
"file"), (target[0] ? target :
"/"), source);
215 return(!was_failure);
222 if(strcmp(mode,
"none")==0)
224 if(strcmp(mode,
"unknown")==0)
226 else if(strcmp(mode,
"dashed")==0)
228 else if(strcmp(mode,
"any")==0)
231 sprintf(xorriso->
info_text,
"-add_plainly: unknown mode '%s'", mode);
243 char *time_type,
char *timestring,
244 int argc,
char **argv,
int *idx,
int flag)
246 int i, ret, was_failure= 0, t_type= 0, end_idx, fret;
251 struct stat dir_stbuf;
261 for(i= 0; i<optc; i++) {
270 NULL, optv[i], &dir_stbuf, 0, 0);
290 return(!was_failure);
296 char *type_text,
char *image_path,
int flag)
298 int partno = 0, type_code= -1, i, guid_valid= 0, ret;
302 static char *part_type_names[] = {
"FAT12",
"FAT16",
"Linux",
"", NULL};
303 static int part_type_codes[] = { 0x01, 0x06, 0x83, 0x00};
305 sscanf(partno_text,
"%d", &partno);
308 "-append_partition: Partition number '%s' is out of range (1...%d)",
313 for(i= 0; part_type_names[i] != NULL; i++)
314 if(strcmp(part_type_names[i], type_text) == 0)
316 if(part_type_names[i] != NULL)
317 type_code= part_type_codes[i];
326 if(strncmp(tpt,
"0x", 2) == 0)
331 sscanf(tpt,
"%X", &unum);
335 "-append_partition: Partition type '%s' is out of range (0x00...0xff or GUID)",
367 "-application_id", 0) <= 0)
369 if(strcmp(name,
"@xorriso@") == 0)
384 "-application_use: parameter string is much too long (%d)",
400 int end_idx, ret, idx_count;
403 idx_count= end_idx-(*idx);
404 if(end_idx<=0 || (*idx)>=argc) {
407 "-as : Not enough arguments given. Needed: whom do_what %s",
411 "-as %s : Not enough arguments given. Needed: do_what %s",
416 if(strcmp(argv[*idx],
"cdrecord")==0 || strcmp(argv[*idx],
"wodim")==0 ||
417 strcmp(argv[*idx],
"cdrskin")==0 || strcmp(argv[*idx],
"xorrecord")==0) {
418 ret=
Xorriso_cdrskin(xorriso, argv[*idx], end_idx-(*idx)-1, argv+(*idx)+1,
422 }
else if(strcmp(argv[*idx],
"mkisofs")==0 ||
423 strcmp(argv[*idx],
"genisoimage")==0 ||
424 strcmp(argv[*idx],
"genisofs")==0 ||
425 strcmp(argv[*idx],
"xorrisofs")==0) {
432 "-as : Not a known emulation personality: '%s'", argv[*idx]);
446 char *severity,
int flag)
449 char *sev_text=
"", off_severity[20];
453 "Name too long with option -application_id (%d > %d)",
454 (
int) strlen(pattern), (
int)
sizeof(xorriso->
assert_volid)-1);
461 sprintf(xorriso->
info_text,
"-assert_volid: Cannot use given pattern.");
466 if(severity[0] != 0 || pattern[0] != 0) {
471 if(strcmp(sev_text,
"NEVER") == 0)
474 sev_text= off_severity;
477 sprintf(xorriso->
info_text,
"-assert_volid: Not a known severity name : ");
493 if(strcmp(mode,
"off")==0)
494 xorriso->
do_aaip&= ~(256 | 512);
495 else if(strcmp(mode,
"on")==0)
496 xorriso->
do_aaip|= (256 | 512);
498 sprintf(xorriso->
info_text,
"-auto_charset: unknown mode '%s'", mode);
516 for(; npt!=NULL; cpt= npt+1) {
517 npt= strchr(cpt,
':');
524 if(l == 3 && strncmp(cpt,
"off", l)==0) {
526 }
else if(l == 16 && strncmp(cpt,
"in_double_quotes", l)==0) {
528 }
else if(l == 9 && strncmp(cpt,
"in_quotes", l)==0) {
530 }
else if(l == 17 && strncmp(cpt,
"with_quoted_input", l)==0) {
532 }
else if(l == 22 && strncmp(cpt,
"with_program_arguments", l)==0) {
534 }
else if(l == 13 && strncmp(cpt,
"encode_output", l)==0) {
536 }
else if(l == 14 && strncmp(cpt,
"encode_results", l)==0) {
538 }
else if(l == 12 && strncmp(cpt,
"encode_infos", l)==0) {
540 }
else if(l == 2 && strncmp(cpt,
"on", l)==0) {
544 sprintf(xorriso->
info_text,
"-backslash_codes: unknown mode '%s'", cpt);
547 "-backslash_codes: oversized mode parameter (%d)", l);
569 "-biblio_file", 0) <= 0)
583 char *cmd=
"-blank", *mode;
584 int aq_ret, ret, mode_flag= 0, as_needed= 0, idx, do_force= 0;
591 "%s: No output drive set by -dev -or -outdev", cmd);
598 "%s: Image changes pending. -commit or -rollback first.", cmd);
604 "possibly make unreadable data on outdev", 0);
608 if(strncmp(in_mode,
"force:", 6) == 0) {
613 if(strcmp(mode,
"as_needed")==0 || mode[0]==0)
615 else if(strcmp(mode,
"all")==0 || strcmp(mode,
"full")==0)
617 else if((strcmp(mode,
"deformat")==0 ||
618 strcmp(mode,
"deformat_sequential")==0) && !(flag&1))
620 else if((strcmp(mode,
"deformat_quickest")==0 ||
621 strcmp(mode,
"deformat_sequential_quickest")==0) && !(flag&1))
623 else if(strcmp(mode,
"fast")==0)
625 else if(strncmp(mode,
"by_index_", 9)==0 && (flag&1)) {
629 sscanf(mode+9,
"%d", &idx);
630 if(idx<0 || idx>255) {
633 "-format: mode '%s' provides unusable index number", mode);
637 mode_flag|= (idx<<8);
638 }
else if(strncmp(mode,
"fast_by_index_", 14)==0 && (flag&1)) {
642 sscanf(mode+14,
"%d", &idx);
645 mode_flag|= (idx<<8);
646 }
else if(strncmp(mode,
"by_size_", 8) == 0 && (flag & 1)) {
651 "-format: mode '%s' provides unusable size value", mode);
656 }
else if(strncmp(mode,
"fast_by_size_", 13) == 0 && (flag & 1)) {
661 }
else if(strcmp(mode,
"without_spare") == 0 && (flag & 1)) {
665 "%s: Unknown %s mode '%s'",
666 cmd, ((flag&1) ?
"-format" :
"-blank"), mode);
696 char *treatment,
int flag)
698 int was_ok= 1, ret, isolinux_grub= 0, count, bin_count, parm_len;
699 int palohdrversion, type_code;
701 char *formpt, *treatpt, *eff_path= NULL, *eqpt, parm[20];
713 if(strcmp(formpt,
"isolinux")==0 || strcmp(formpt,
"grub") == 0)
715 if(strcmp(treatpt,
"keep")==0) {
717 cannot_keep_or_patch:;
719 "Loaded boot image has already been replaced. Cannot keep or patch it.");
724 goto treatment_patch;
730 }
else if(strcmp(treatpt,
"patch")==0) {
733 goto cannot_keep_or_patch;
737 if(strcmp(formpt,
"grub") == 0) {
740 }
else if(strcmp(formpt,
"isolinux") == 0)
745 }
else if(strcmp(treatpt,
"replay")==0) {
750 }
else if(strcmp(treatpt,
"discard")==0) {
763 }
else if(strcmp(treatpt,
"next") == 0) {
768 }
else if(strcmp(treatpt,
"show_status")==0) {
769 sprintf(xorriso->
result_line,
"------------------------------------\n");
771 sprintf(xorriso->
result_line,
"Status of loaded boot image :\n");
773 sprintf(xorriso->
result_line,
"------------------------------------\n");
776 sprintf(xorriso->
result_line,
"------------------------------------\n");
778 sprintf(xorriso->
result_line,
"Boot image settings for next commit:\n");
780 sprintf(xorriso->
result_line,
"------------------------------------\n");
783 sprintf(xorriso->
result_line,
"------------------------------------\n");
786 }
else if(strcmp(treatpt,
"cat_path=") == 0) {
788 }
else if(strncmp(treatpt,
"cat_path=", 9) == 0) {
794 }
else if(strncmp(treatpt,
"cat_hidden=", 11) == 0) {
801 }
else if(strncmp(treatpt,
"dir=", 4) == 0) {
802 if(strcmp(formpt,
"isolinux")==0) {
805 if(strcmp(treatpt + 4,
"/") == 0)
807 else if(strcmp(treatpt + 4,
"isolinux") == 0
808 || strcmp(treatpt + 4,
"/isolinux") == 0)
810 else if(strcmp(treatpt + 4,
"boot/isolinux") == 0
811 || strcmp(treatpt + 4,
"/boot/isolinux") == 0
812 || strcmp(treatpt + 4,
"boot") == 0
813 || strcmp(treatpt + 4,
"/boot") == 0)
817 "Unrecognized keyword with -boot_image %s %s",
821 "Allowed with dir= are / , /isolinux . /boot/isolinux");
835 }
else if(strcmp(formpt,
"grub") == 0) {
845 }
else if(strcmp(treatpt,
"bin_path=") == 0) {
848 }
else if(strncmp(treatpt,
"bin_path=", 9) == 0) {
849 if(strncmp(treatpt + 9,
"--interval:appended_partition_", 30) == 0) {
853 "-boot_image: --interval text is much too long (%d)",
854 (
int) strlen(treatpt + 9));
877 }
else if(strcmp(treatpt,
"efi_path=") == 0) {
880 }
else if(strncmp(treatpt,
"efi_path=", 9) == 0) {
881 if(strncmp(treatpt + 9,
"--interval:appended_partition_", 30) == 0) {
883 goto interval_text_long;
894 }
else if(strncmp(treatpt,
"mips_path=", 10) == 0) {
895 sprintf(eff_path,
"-boot_image %s mips_path=", formpt);
907 }
else if(strncmp(treatpt,
"mipsel_path=", 12) == 0) {
908 sprintf(eff_path,
"-boot_image %s mipsel_path=", formpt);
920 }
else if(strcmp(treatpt,
"mips_discard") == 0 ||
921 strcmp(treatpt,
"mipsel_discard") == 0 ||
922 strcmp(treatpt,
"sparc_discard") == 0 ||
923 strcmp(treatpt,
"hppa_discard") == 0 ||
924 strcmp(treatpt,
"alpha_discard") == 0) {
930 }
else if(strncmp(treatpt,
"sparc_label=", 12) == 0) {
931 sprintf(eff_path,
"-boot_image %s sparc_label=", formpt);
939 }
else if(strncmp(treatpt,
"grub2_sparc_core=", 17) == 0) {
945 }
else if(strncmp(treatpt,
"hppa_", 5) == 0) {
946 sprintf(eff_path,
"-boot_image %s %s", formpt, treatpt);
948 if(palohdrversion != 4)
954 eqpt= strchr(treatpt,
'=');
957 "No equal sign found in -boot_image %s %s", form, treatment);
961 parm_len= (eqpt - treatpt) - 5;
962 if(parm_len > (
int)
sizeof(parm) - 1)
963 parm_len=
sizeof(parm) - 1;
964 strncpy(parm, treatpt + 5, parm_len);
970 }
else if(strncmp(treatpt,
"alpha_boot=", 11) == 0) {
971 sprintf(eff_path,
"-boot_image %s %s", formpt, treatpt);
979 }
else if(strncmp(treatpt,
"boot_info_table=", 16)==0) {
980 if(strcmp(treatpt + 16,
"off") == 0)
982 else if(strcmp(treatpt + 16,
"on") == 0)
984 1 | (2 * (strcmp(treatpt,
"grub") == 0));
988 }
else if(strncmp(treatpt,
"grub2_boot_info=", 16)==0) {
989 if(strcmp(treatpt + 16,
"off") == 0)
991 else if(strcmp(treatpt + 16,
"on") == 0)
996 }
else if(strncmp(treatpt,
"load_size=", 10) == 0) {
997 if(strcmp(treatpt + 10,
"full") == 0) {
1001 if(num < 512 && isolinux_grub) {
1003 "-boot_image %s : load_size too small (%s < 512)",
1004 formpt, treatpt + 10);
1012 }
else if(strncmp(treatpt,
"id_string=", 10) == 0) {
1014 if(strlen(treatpt + 10) == 56) {
1021 }
else if(strncmp(treatpt,
"sel_crit=", 9) == 0) {
1027 "-boot_image %s sel_crit= : Wrong form. Need even number of hex digits.",
1033 }
else if(strncmp(treatpt,
"system_area=", 12) == 0) {
1034 if(strcmp(formpt,
"isolinux")==0) {
1036 "-boot_image isolinux system_area=", 0);
1040 if(strcmp(treatpt + 12,
".") == 0) {
1048 if(strcmp(treatpt + 12,
"/dev/zero") == 0)
1051 }
else if(strncmp(treatpt,
"partition_table=", 16)==0) {
1052 if(strcmp(treatpt + 16,
"off") == 0) {
1054 }
else if(strcmp(treatpt + 16,
"on") == 0) {
1055 sprintf(eff_path,
"-boot_image %s partition_table=", formpt);
1056 if(strcmp(formpt,
"isolinux")==0)
1064 }
else if(strncmp(treatpt,
"partition_entry=", 16)==0) {
1065 if(strcmp(formpt,
"isolinux") != 0) {
1067 "-boot_image %s partition_entry=%s : Wrong type. Need \"isolinux\".",
1068 formpt, treatpt + 16);
1072 if(strcmp(treatpt + 16,
"gpt_basdat") == 0) {
1075 }
else if(strcmp(treatpt + 16,
"gpt_hfsplus") == 0) {
1078 }
else if(strcmp(treatpt + 16,
"apm_hfsplus") == 0) {
1080 }
else if(strcmp(treatpt + 16,
"off") == 0) {
1085 }
else if(strncmp(treatpt,
"partition_offset=", 17)==0) {
1087 sscanf(treatpt + 17,
"%u", &u);
1088 if(u > 0 && u < 16) {
1090 "-boot_image %s partition_offset= : Non-zero number too small (<16).",
1097 }
else if(strncmp(treatpt,
"appended_part_as=", 17) == 0) {
1098 if(strcmp(treatpt + 17,
"gpt") == 0) {
1100 }
else if(strcmp(treatpt + 17,
"mbr") == 0) {
1103 }
else if(strcmp(treatpt + 17,
"apm") == 0) {
1108 }
else if(strncmp(treatpt,
"gpt_disk_guid=", 14) == 0) {
1113 }
else if(strncmp(treatpt,
"part_like_isohybrid=", 20) == 0) {
1114 if(strcmp(treatpt + 20,
"on") == 0)
1116 else if(strcmp(treatpt + 20,
"off") == 0)
1121 }
else if(strncmp(treatpt,
"iso_mbr_part_type=", 18) == 0) {
1124 if(strncmp(treatpt + 18,
"default", 2) == 0) {
1126 }
else if(strncmp(treatpt + 18,
"0x", 2) == 0) {
1128 sscanf(treatpt + 20,
"%x", &u);
1137 sscanf(treatpt + 18,
"%d", &ret);
1141 if(ret < -1 || ret > 0xff) {
1143 "-boot_image %s : iso_mbr_part_type='%s' wrong (\"default\", 0 ... 255, 0x00 ... 0xff)",
1144 formpt, treatpt + 18);
1150 }
else if(strncmp(treatpt,
"partition_hd_cyl=", 17)==0) {
1152 sscanf(treatpt + 17,
"%u", &u);
1155 "-boot_image %s partition_hd_cyl= : Number too large (>255).", formpt);
1161 }
else if(strncmp(treatpt,
"partition_sec_hd=", 17)==0) {
1163 sscanf(treatpt + 17,
"%u", &u);
1166 "-boot_image %s partition_sec_hd= : Number too large (>63).", formpt);
1172 }
else if(strncmp(treatpt,
"partition_cyl_align=", 20)==0) {
1173 if(strcmp(treatpt + 20,
"auto") == 0)
1175 else if(strcmp(treatpt + 20,
"on") == 0)
1178 else if(strcmp(treatpt + 20,
"off") == 0)
1181 else if(strcmp(treatpt + 20,
"all") == 0)
1186 "-boot_image %s partition_cyl_align: unknown mode : %s",
1187 formpt, treatpt + 20);
1192 }
else if(strncmp(treatpt,
"platform_id=", 12)==0) {
1194 if(strncmp(treatpt + 12,
"0x", 2) == 0)
1195 sscanf(treatpt + 14,
"%x", &u);
1197 sscanf(treatpt + 12,
"%u", &u);
1200 "-boot_image %s : platform_id too large (%s > 0xff)",
1201 formpt, treatpt + 12);
1207 }
else if(strncmp(treatpt,
"emul_type=", 10)==0) {
1208 if(strcmp(treatpt + 10,
"none") == 0 ||
1209 strcmp(treatpt + 10,
"no_emulation") == 0) {
1212 }
else if(strcmp(treatpt + 10,
"hard_disk") == 0) {
1215 }
else if(strcmp(treatpt + 10,
"floppy") == 0 ||
1216 strcmp(treatpt + 10,
"diskette") == 0) {
1221 "-boot_image %s : Unknown media_type : %s",
1222 formpt, treatpt + 10);
1227 }
else if(strncmp(treatpt,
"hfsplus_serial=", 15) == 0) {
1228 ret=
Hex_to_bin(treatpt + 15, 8, &bin_count, (
unsigned char *) sn, 0);
1229 if(ret <= 0 || bin_count != 8) {
1231 "boot_image %s : Malformed hfsplus_serial : %s",
1232 formpt, treatpt + 15);
1235 "Expected is a string of 16 hex digits [0-9a-fA-F]",
1242 }
else if(strncmp(treatpt,
"hfsplus_block_size=", 19) == 0) {
1244 sscanf(treatpt + 19,
"%u", &u);
1245 if(u != 0 && u!= 512 && u != 2048) {
1247 "boot_image %s : Malformed hfsplus_block_size : %s",
1248 formpt, treatpt + 19);
1256 }
else if(strncmp(treatpt,
"apm_block_size=", 15) == 0) {
1258 sscanf(treatpt + 15,
"%u", &u);
1259 if(u != 0 && u!= 512 && u != 2048) {
1261 "boot_image %s : Malformed apm_block_size : %s",
1262 formpt, treatpt + 15);
1270 }
else if(strncmp(treatpt,
"efi_boot_part=", 14) == 0) {
1274 }
else if(strncmp(treatpt,
"prep_boot_part=", 15) == 0) {
1278 }
else if(strncmp(treatpt,
"chrp_boot_part=", 15) == 0) {
1279 if(strcmp(treatpt + 15,
"on") == 0) {
1282 }
else if(strcmp(treatpt + 15,
"off") == 0) {
1286 "-boot_image %s chrp_boot_part: unknown mode : %s",
1287 formpt, treatpt + 15);
1292 }
else if(strncmp(treatpt,
"isohybrid=", 10) == 0 &&
1293 strcmp(formpt,
"isolinux")==0) {
1295 #ifdef Xorriso_with_isohybriD
1297 if(strcmp(treatpt + 10,
"off") == 0)
1299 else if(strcmp(treatpt + 10,
"auto") == 0)
1301 else if(strcmp(treatpt + 10,
"on") == 0)
1303 else if(strcmp(treatpt + 10,
"force") == 0)
1307 "Unrecognized keyword with -boot_image %s %s",
1311 "Allowed with isohybrid= are: off , auto , on , force");
1318 if(strcmp(treatpt + 10,
"off") == 0) {
1322 "isohybrid MBR generation has been disabled on request of its inventor H. Peter Anvin on 31 Mar 2010");
1325 "It has been replaced by -boot_image isolinux system_area=External-File");
1331 }
else if(strncmp(treatpt,
"grub2_mbr=", 10) == 0) {
1335 if(strcmp(treatpt + 10,
".") == 0) {
1342 if(treatpt [10] == 0)
1347 }
else if(strncmp(treatpt,
"mbr_force_bootable=", 19) == 0) {
1348 if(strcmp(treatpt + 19,
"off") == 0) {
1350 }
else if(strcmp(treatpt + 19,
"on") == 0) {
1354 "-boot_image %s mbr_force_bootable=: unknown mode : %s",
1355 formpt, treatpt + 19);
1364 sprintf(xorriso->
info_text,
"Unrecognized options with -boot_image: %s %s",
1379 int gu_flag= 0, ret;
1381 if(strcmp(which,
"in")==0)
1383 else if(strcmp(which,
"out")==0)
1385 else if(strcmp(which,
"on")==0) {
1387 }
else if(strcmp(which,
"off")==0) {
1389 }
else if(strcmp(which,
"revoke")==0) {
1401 char *path= NULL, *eff_path= NULL, *namept;
1407 if (strlen(iso_rr_path)>
sizeof(xorriso->
wdi)) {
1408 sprintf(xorriso->
info_text,
"-cdi: iso_rr_path too long (%d > %d)",
1409 (
int) strlen(iso_rr_path), (
int)
sizeof(xorriso->
wdi)-1);
1414 sprintf(xorriso->
info_text,
"previous working directory:\n");
1421 if(strcmp(iso_rr_path,
"/")==0 || iso_rr_path[0]==0) {
1422 strcpy(xorriso->
wdi,
"");
1425 }
else if(iso_rr_path[0]!=
'/') {
1426 strcpy(path, xorriso->
wdi);
1438 sprintf(xorriso->
info_text,
"-cdi: not existing yet in ISO image : ");
1445 sprintf(xorriso->
info_text,
"-cdi: not a directory : ");
1451 strcpy(xorriso->
wdi, namept);
1465 char *path= NULL, *eff_path= NULL;
1471 if (strlen(disk_path)>
sizeof(xorriso->
wdx)) {
1472 sprintf(xorriso->
info_text,
"-cdx: disk_path too long (%d > %d)",
1473 (
int) strlen(disk_path), (
int)
sizeof(xorriso->
wdx)-1);
1478 sprintf(xorriso->
info_text,
"previous working directory on hard disk:\n");
1485 if(strcmp(disk_path,
"/")==0) {
1486 strcpy(xorriso->
wdx,
"");
1489 }
else if(disk_path[0]!=
'/') {
1490 strcpy(path, xorriso->
wdx);
1505 sprintf(xorriso->
info_text,
"-cdx: file not found : ");
1512 sprintf(xorriso->
info_text,
"-cdx: not a directory : ");
1533 if(strcmp(state,
"no") == 0)
1535 else if(strcmp(state,
"yes") == 0)
1537 else if(strcmp(state,
"mkisofs_printed") == 0)
1539 else if(strcmp(state,
"show_status") == 0) {
1540 strcpy(xorriso->
result_line,
"-changes_pending ");
1550 sprintf(xorriso->
info_text,
"-changes_pending: unknown state code '%s'",
1567 char *name_pt= NULL, *local_charset;
1568 iconv_t iconv_ret= (iconv_t) -1;
1579 if(name_pt != NULL) {
1581 iconv_ret= iconv_open(local_charset, name_pt);
1582 if(iconv_ret == (iconv_t) -1) {
1584 "-%scharset: Cannot convert from character set ",
1585 flag & 2 ?
"" :
"in_");
1591 iconv_close(iconv_ret);
1599 if(name_pt != NULL) {
1601 iconv_ret= iconv_open(local_charset, name_pt);
1602 if(iconv_ret == (iconv_t) -1) {
1603 sprintf(xorriso->
info_text,
"-%scharset: Cannot convert to charset ",
1604 flag & 1 ?
"" :
"out_");
1610 iconv_close(iconv_ret);
1620 sprintf(xorriso->
info_text,
"Character set for %sconversion is now: ",
1621 (flag & 3) == 1 ?
"input " : (flag & 3) == 2 ?
"output " :
"");
1636 int argc,
char **argv,
int *idx,
int flag)
1638 int ret, i, mem_pci, end_idx, fret, sev, do_report= 0;
1640 char **optv= NULL, *cpt, *severity=
"ALL", off_severity[20];
1642 double mem_lut= 0.0;
1647 &end_idx, &optc, &optv, 128);
1654 "-check_md5: No event severity given for case of mismatch");
1658 severity= argv[*idx];
1660 severity= off_severity;
1663 sprintf(xorriso->
info_text,
"-check_md5: Not a known severity name : ");
1669 if(!(flag & (2 | 4))) {
1683 for(i= 0; i < optc; i++) {
1716 ret= 0;
goto report_outcome;
1724 if(!(flag & (2 | 4))) {
1734 "MD5 MISMATCH WITH DATA OF LOADED SESSION !\n");
1736 if(strcmp(severity,
"ALL") != 0) {
1738 "Event triggered by MD5 comparison mismatch");
1742 sprintf(xorriso->
result_line,
"Ok, session data match recorded md5.\n");
1761 int argc,
char **argv,
int *idx,
int flag)
1763 int ret, i, count, lba, blocks, quality, pass, was_md5= 0, was_event= 0;
1764 int end_idx, old_idx, os_errno, to_info= 0;
1765 char quality_name[80], *head_buffer= NULL;
1768 struct FindjoB *findjob= NULL;
1769 struct stat dir_stbuf;
1787 "-check_media: cannot report=*files while use=outdef");
1793 "-check_media: cannot apply patch_lba0= while data_to= has empty value");
1799 "-check_media: cannot apply patch_lba0= while data_to= is \"-\"");
1807 "-check_media: option use=sector_map but sector_map=''");
1847 for(pass= 0; pass < 2; pass++) {
1850 "Media checks : lba , size , quality\n");
1855 "MD5 checks : lba , size , result\n");
1864 for(i= 0; i < count; i++) {
1882 sprintf(xorriso->
result_line,
"%s: %10d , %10d , %s\n",
1883 pass == 0 ?
"Media region " :
"MD5 tag range",
1904 NULL,
"/", &dir_stbuf, 0, 0);
1913 "Event triggered by media read error or MD5 comparison mismatch");
1926 int argc,
char **argv,
int *idx,
int flag)
1928 int ret, old_idx, end_idx;
1955 int argc,
char **argv,
int *idx,
int flag)
1957 int i, ret, was_failure= 0, end_idx, fret;
1962 struct stat dir_stbuf;
1964 ret=
Xorriso_opt_args(xorriso,
"-chgrpi", argc, argv, *idx, &end_idx, &optc,
1971 for(i= 0; i<optc; i++) {
1980 NULL, optv[i], &dir_stbuf, 0, 0);
1995 Xorriso_opt_args(xorriso,
"-chgrpi", argc, argv, *idx, &end_idx, &optc, &optv,
2000 return(!was_failure);
2008 int argc,
char **argv,
int *idx,
int flag)
2010 int i, ret, was_failure= 0, end_idx, fret;
2011 mode_t mode_and= ~0, mode_or= 0;
2015 struct stat dir_stbuf;
2017 ret=
Xorriso_opt_args(xorriso,
"-chmodi", argc, argv, *idx, &end_idx, &optc,
2022 mode, &mode_and, &mode_or, 0);
2025 for(i= 0; i<optc; i++) {
2034 NULL, optv[i], &dir_stbuf, 0, 0);
2050 Xorriso_opt_args(xorriso,
"-chmodi", argc, argv, *idx, &end_idx, &optc, &optv,
2055 return(!was_failure);
2063 int argc,
char **argv,
int *idx,
int flag)
2065 int i, ret, was_failure= 0, end_idx, fret;
2070 struct stat dir_stbuf;
2079 for(i= 0; i<optc; i++) {
2088 NULL, optv[i], &dir_stbuf, 0, 0);
2108 return(!was_failure);
2126 if(strcmp(mode,
"off") == 0) {
2129 }
else if(strcmp(mode,
"as_needed") == 0) {
2145 if(strcmp(mode,
"as_needed") == 0 || strcmp(mode,
"") == 0)
2147 else if(strcmp(mode,
"force") == 0)
2150 sprintf(xorriso->
info_text,
"-close_damaged: unknown mode ");
2156 "Close damaged track and session", 0);
2185 char eternal_problem_status_text_mem[80];
2188 sprintf(xorriso->
info_text,
"-commit: No image modifications pending");
2194 "write the pending image changes to the medium", 0);
2203 strcpy(eternal_problem_status_text_mem,
"WARNING");
2239 if(ret<=0 || ret==2 || ret==3)
2241 if(strcmp(which,
"none")==0)
2259 char *iso_path,
int flag)
2261 int ret, mem_pci, zero= 0, result, follow_links;
2262 double mem_lut= 0.0;
2263 char *ipth, *argv[6], *eff_origin= NULL, *eff_dest= NULL;
2271 if(disk_path[0]==0) {
2272 sprintf(xorriso->
info_text,
"-compare: Empty disk_path given");
2289 goto report_outcome;
2302 argv[3]= eff_origin;
2306 argv[0]= eff_origin;
2308 argv[2]=
"not_in_iso";
2313 argv[0]= eff_origin;
2317 argv[4]=
"is_full_in_iso";
2331 2 | follow_links | ((flag&4)<<27) | (1<<30));
2341 "Both file objects match as far as expectable.\n");
2343 sprintf(xorriso->
result_line,
"Differences detected.\n");
2345 sprintf(xorriso->
result_line,
"Comparison failed due to error.\n");
2369 int argc,
char **argv,
int *idx,
int flag)
2371 int ret, end_idx, optc= 0, progc= 0, iso_rr_start, prog_end_idx= -1;
2372 char **optv= NULL, **progv= NULL, *delimiter_mem= NULL;
2373 char *delimiter= NULL;
2377 iso_rr_start= *idx + 2;
2381 "-concat: image content copies are not enabled by option -osirrox");
2385 if(end_idx - *idx < 3) {
2387 "-concat: Not enough arguments. Need mode, target, iso_rr_path.");
2391 if(strcmp(argv[*idx],
"pipe") == 0) {
2392 if(end_idx - *idx < 5) {
2394 "-concat pipe: Not enough arguments. Need delimiter, program path, delimiter, iso_rr_path.");
2407 strcpy(delimiter, argv[*idx + 1]);
2410 &prog_end_idx, &progc, &progv, 4 | 128);
2415 sprintf(xorriso->
info_text,
"-concat pipe: No program path given.");
2419 iso_rr_start= prog_end_idx + 1;
2421 ret=
Xorriso_opt_args(xorriso,
"-concat", argc , argv, iso_rr_start, &end_idx,
2426 sprintf(xorriso->
info_text,
"-concat: No iso_rr_paths given.");
2431 progc, progv, optc, optv, 0);
2434 if(delimiter_mem != NULL && delimiter != NULL)
2437 &progc, &progv, 256);
2438 if(delimiter_mem != NULL && delimiter != NULL)
2455 "-copyright_file", 0) <= 0)
2467 int i, end_idx_dummy, ret, is_dir= 0, was_failure= 0, fret, pass;
2468 char *eff_origin= NULL, *eff_dest= NULL, *dest_dir= NULL, *leafname= NULL;
2479 &optc, &optv, eff_dest, 1);
2482 if(ret == 1 && optc > 1) {
2485 "-cp_clone: Copy address already exists and is not a directory: ");
2490 strcpy(dest_dir, eff_dest);
2494 if(S_ISDIR(stbuf.st_mode))
2503 {ret= -(ret != -1);
goto ex;}
2507 for(pass= 0; pass < 2; pass++) {
2508 for(i= 0; i<optc; i++) {
2510 optv[i], eff_origin, !!pass);
2511 if(ret<=0 || xorriso->request_to_abort)
2512 goto problem_handler;
2516 goto problem_handler;
2517 strcpy(eff_dest, dest_dir);
2520 sprintf(xorriso->
info_text,
"Effective path gets much too long (%d)",
2521 (
int) (strlen(eff_dest)+strlen(leafname)+1));
2523 goto problem_handler;
2529 if(ret >= 0 && S_ISDIR(stbuf.st_mode)) {
2531 if (ret >= 0 && S_ISDIR(stbuf.st_mode))
2535 sprintf(xorriso->
info_text,
"Cloning: May not overwrite: ");
2538 goto problem_handler;
2543 goto problem_handler;
2558 argc, argv, *idx, &end_idx_dummy, &optc, &optv, 256);
2571 int i, ret, is_dir= 0, was_failure= 0, fret, end_idx_dummy;
2572 char *eff_origin= NULL, *eff_dest= NULL, *dest_dir= NULL, *leafname= NULL;
2582 &optc, &optv, eff_dest, 1|2);
2587 strcpy(dest_dir, eff_dest);
2595 if(ret<=0 || xorriso->request_to_abort)
2596 goto problem_handler;
2600 goto problem_handler;
2601 strcpy(eff_dest, dest_dir);
2604 sprintf(xorriso->
info_text,
"Effective path gets much too long (%d)",
2605 (
int) (strlen(eff_dest)+ strlen(leafname)+1));
2607 goto problem_handler;
2611 (off_t) 0, (off_t) 0, 0);
2612 if(ret<=0 || xorriso->request_to_abort)
2613 goto problem_handler;
2614 sprintf(xorriso->
info_text,
"Added to ISO image: %s '%s'='%s'\n",
2615 (ret>1 ?
"directory" :
"file"), (eff_dest[0] ? eff_dest :
"/"),
2632 argc, argv, *idx, &end_idx_dummy, &optc, &optv, 256);
2648 int i, ret, is_dir= 0, was_failure= 0, fret, end_idx_dummy, problem_count;
2649 char *eff_origin= NULL, *eff_dest= NULL, *dest_dir= NULL, *leafname= NULL;
2650 char **eff_src_array= NULL, **eff_tgt_array= NULL;
2661 &optc, &optv, eff_dest, 1|4);
2666 strcpy(dest_dir, eff_dest);
2670 "-cpx: image-to-disk copies are not enabled by option -osirrox");
2676 eff_src_array= calloc(optc,
sizeof(
char *));
2677 eff_tgt_array= calloc(optc,
sizeof(
char *));
2678 if(eff_src_array == NULL || eff_tgt_array == NULL) {
2682 for(i= 0; i < optc; i++)
2683 eff_src_array[i]= eff_tgt_array[i]= NULL;
2691 if(ret<=0 || xorriso->request_to_abort)
2692 goto problem_handler;
2696 goto problem_handler;
2697 if(S_ISDIR(stbuf.st_mode) && !(flag&1)) {
2703 goto problem_handler;
2705 sprintf(xorriso->
info_text,
"-cpx: May not copy directory ");
2708 ret= 0;
goto problem_handler;
2712 if(is_dir && strcmp(eff_origin,
"/")!=0) {
2715 goto problem_handler;
2716 strcpy(eff_dest, dest_dir);
2719 sprintf(xorriso->
info_text,
"Effective path gets much too long (%d)",
2720 (
int) (strlen(eff_dest)+strlen(leafname)+1));
2722 goto problem_handler;
2725 if(eff_src_array != NULL) {
2726 eff_src_array[i]= strdup(eff_origin);
2727 eff_tgt_array[i]= strdup(eff_dest);
2728 if(eff_src_array[i] == NULL || eff_tgt_array[i] == NULL) {
2733 ret=
Xorriso_restore(xorriso, eff_origin, eff_dest, (off_t) 0, (off_t) 0,
2734 16 | ((!(flag&2))<<6));
2735 if(ret<=0 || xorriso->request_to_abort)
2736 goto problem_handler;
2737 if(ret==3 || (flag&1))
2740 "Copied from ISO image to disk: %s '%s' = '%s'\n",
2741 (ret>1 ?
"directory" :
"file"), eff_origin, eff_dest);
2753 if(eff_src_array != NULL) {
2756 if(ret <= 0 || problem_count > 0)
2769 argc, argv, *idx, &end_idx_dummy, &optc, &optv, 256);
2780 char *start,
char *count,
char *iso_rr_path,
int flag)
2784 off_t startbyte, bytecount;
2787 if(num<0 || num > 1.0e18) {
2789 "-cut_out: startbyte address negative or much too large (%s)", start);
2795 if(num<=0 || num > 1.0e18) {
2797 "-cut_out: bytecount zero, negative or much too large (%s)", count);
2803 "-cut_out from %s , byte %.f to %.f, and graft as %s",
2804 disk_path, (
double) startbyte, (
double) (startbyte+bytecount),
int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr, char *iso_adr, char *adr_common_tail, int *result, int flag)
int Xorriso_concat(struct XorrisO *xorriso, char *mode, char *target, int progc, char **progv, int filec, char **filev, int flag)
int Xorriso_convert_uidstring(struct XorrisO *xorriso, char *uid_string, uid_t *uid, int flag)
int Xorriso_convert_modstring(struct XorrisO *xorriso, char *cmd, char *mode, mode_t *mode_and, mode_t *mode_or, int flag)
int Xorriso_restore_sorted(struct XorrisO *xorriso, int count, char **src_array, char **tgt_array, int *problem_count, int flag)
int Xorriso_convert_gidstring(struct XorrisO *xorriso, char *gid_string, gid_t *gid, int flag)
int Xorriso_drive_snooze(struct XorrisO *xorriso, int flag)
int Xorriso_pretend_full_disc(struct XorrisO *xorriso, int flag)
int Xorriso_check_session_md5(struct XorrisO *xorriso, char *severity, int flag)
int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag)
int Xorriso_check_media(struct XorrisO *xorriso, struct SpotlisT **spotlist, struct CheckmediajoB *job, int flag)
int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv, int flag)
int Xorriso_genisofs(struct XorrisO *xorriso, char *whom, int argc, char **argv, int flag)
int Findjob_set_action_chown(struct FindjoB *o, uid_t user, int flag)
int Findjob_set_action_target(struct FindjoB *o, int action, char *target, int flag)
int Findjob_set_damage_filter(struct FindjoB *o, int value, int flag)
int Findjob_set_action_chmod(struct FindjoB *o, mode_t mode_and, mode_t mode_or, int flag)
int Findjob_destroy(struct FindjoB **o, int flag)
int Findjob_new(struct FindjoB **o, char *start_path, int flag)
int Findjob_set_action_chgrp(struct FindjoB *o, gid_t group, int flag)
int Findjob_set_action_ad(struct FindjoB *o, int type, time_t date, int flag)
static int Sfile_destroy_argv(int *argc, char ***argv, int flag)
int Xorriso_set_hppa_boot_parm(struct XorrisO *xorriso, char *text, char *what, int flag)
int Xorriso_set_ignore_aclea(struct XorrisO *xorriso, int flag)
int Xorriso_set_change_pending(struct XorrisO *xorriso, int flag)
int Xorriso_report_system_area(struct XorrisO *xorriso, char *form, int flag)
int Xorriso_change_is_pending(struct XorrisO *xorriso, int flag)
int Xorriso_show_boot_info(struct XorrisO *xorriso, int flag)
int Xorriso_set_alpha_boot(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_add_mips_boot_file(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_coordinate_system_area(struct XorrisO *xorriso, int sa_type, int options, char *cmd, int flag)
int Xorriso_cut_out(struct XorrisO *xorriso, char *disk_path, off_t startbyte, off_t bytecount, char *iso_rr_path, int flag)
int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter, char *disk_path, char *img_path, off_t offset, off_t cut_size, int flag)
int Xorriso_mkdir(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_set_uid(struct XorrisO *xorriso, char *in_path, uid_t uid, int flag)
int Xorriso_set_st_mode(struct XorrisO *xorriso, char *in_path, mode_t mode_and, mode_t mode_or, int flag)
int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter, char *origin, char *dest, int flag)
int Xorriso_set_time(struct XorrisO *xorriso, char *in_path, time_t t, int flag)
int Xorriso_findi_sorted(struct XorrisO *xorriso, struct FindjoB *job, off_t boss_mem, int filec, char **filev, int flag)
int Xorriso_set_gid(struct XorrisO *xorriso, char *in_path, gid_t gid, int flag)
int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job, void *boss_iter, off_t boss_mem, void *dir_node_generic, char *dir_path, struct stat *dir_stbuf, int depth, int flag)
int Xorriso_iso_lstat(struct XorrisO *xorriso, char *path, struct stat *stbuf, int flag)
int Xorriso_truncate_path_comps(struct XorrisO *xorriso, char *path, char *buffer, char **resultpt, int flag)
int Xorriso_is_split(struct XorrisO *xorriso, char *path, void *node, int flag)
int Xorriso_normalize_img_path(struct XorrisO *xorriso, char *wd, char *img_path, char eff_path[], int flag)
int Xorriso__text_to_sev(char *severity_name, int *severity_number, int flag)
int Xorriso_get_local_charset(struct XorrisO *xorriso, char **name, int flag)
int Xorriso_set_abort_severity(struct XorrisO *xorriso, int flag)
int Xorriso_preparer_string(struct XorrisO *xorriso, char xorriso_id[129], int flag)
int Xorriso__sev_to_text(int severity, char **severity_name, int flag)
int Xorriso_set_local_charset(struct XorrisO *xorriso, char *name, int flag)
int Xorriso__severity_cmp(char *sev1, char *sev2)
int Xorriso_warn_of_wildcards(struct XorrisO *xorriso, char *path, int flag)
int Fileliste__target_source_limit(char *line, char sep, char **limit_pt, int flag)
int Xorriso__hide_mode(char *mode, int flag)
int Sregex_match(char *pattern, char *text, int flag)
double Scanf_io_size(char *text, int flag)
char * Text_shellsafe(char *in_text, char *out_text, int flag)
int Hex_to_bin(char *hex, int bin_size, int *bin_count, unsigned char *bin_data, int flag)
int Sregex_string(char **handle, char *text, int flag)
int Xorriso__to_upper(char *in, char *out, int out_size, int flag)
int Xorriso_option_abstract_file(struct XorrisO *xorriso, char *name, int flag)
int Xorriso_option_check_media_defaults(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_blank(struct XorrisO *xorriso, char *in_mode, int flag)
int Xorriso_option_cut_out(struct XorrisO *xorriso, char *disk_path, char *start, char *count, char *iso_rr_path, int flag)
int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text, char *type_text, char *image_path, int flag)
int Xorriso_option_cp_clone(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_compare(struct XorrisO *xorriso, char *disk_path, char *iso_path, int flag)
int Xorriso_option_chgrpi(struct XorrisO *xorriso, char *gid, int argc, char **argv, int *idx, int flag)
int Xorriso_option_biblio_file(struct XorrisO *xorriso, char *name, int flag)
int Xorriso_option_chowni(struct XorrisO *xorriso, char *uid, int argc, char **argv, int *idx, int flag)
int Xorriso_option_cpx(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_copyright_file(struct XorrisO *xorriso, char *name, int flag)
int Xorriso_option_commit_eject(struct XorrisO *xorriso, char *which, int flag)
int Xorriso_option_as(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_close(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_acl(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_cpri(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag)
int Xorriso_option_add_plainly(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_cdx(struct XorrisO *xorriso, char *disk_path, int flag)
int Xorriso_option_chmodi(struct XorrisO *xorriso, char *mode, int argc, char **argv, int *idx, int flag)
int Xorriso_option_close_filter_list(struct XorrisO *xorriso, int flag)
int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form, char *treatment, int flag)
int Xorriso_option_close_damaged(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_commit(struct XorrisO *xorriso, int flag)
int Xorriso_option_calm_drive(struct XorrisO *xorriso, char *which, int flag)
int Xorriso_option_changes_pending(struct XorrisO *xorriso, char *state, int flag)
int Xorriso_option_concat(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_clone(struct XorrisO *xorriso, char *origin, char *dest, int flag)
int Xorriso_option_backslash_codes(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_compliance(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *in_severity, int flag)
int Xorriso_option_auto_charset(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_option_cdi(struct XorrisO *xorriso, char *iso_rr_path, int flag)
int Xorriso_option_check_md5(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_charset(struct XorrisO *xorriso, char *name, int flag)
int Xorriso_option_alter_date(struct XorrisO *xorriso, char *time_type, char *timestring, int argc, char **argv, int *idx, int flag)
int Xorriso_option_application_id(struct XorrisO *xorriso, char *name, int flag)
int Xorriso_option_check_media(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
static void unescape_pathspec_part(char *rpt, int flag)
int Xorriso_option_assert_volid(struct XorrisO *xorriso, char *pattern, char *severity, int flag)
int Xorriso_option_application_use(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_option_eject(struct XorrisO *xorriso, char *which, int flag)
int Xorriso_option_find(struct XorrisO *xorriso, int argc, char **argv, int *idx, int flag)
int Xorriso_option_dev(struct XorrisO *xorriso, char *in_adr, int flag)
int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag)
int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag)
int Xorriso_eval_problem_status(struct XorrisO *xorriso, int ret, int flag)
int Xorriso_end_idx(struct XorrisO *xorriso, int argc, char **argv, int idx, int flag)
int Xorriso_convert_datestring(struct XorrisO *xorriso, char *cmd, char *time_type, char *timestring, int *t_type, time_t *t, int flag)
int Xorriso_path_is_excluded(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_cpmv_args(struct XorrisO *xorriso, char *cmd, int argc, char **argv, int *idx, int *optc, char ***optv, char eff_dest[4096], int flag)
int Xorriso_get_problem_status(struct XorrisO *xorriso, char severity[80], int flag)
int Xorriso_set_problem_status(struct XorrisO *xorriso, char *severity, int flag)
int Xorriso_check_thing_len(struct XorrisO *xorriso, char *name, int size, char *cmd, char *thing, int flag)
int Xorriso_opt_args(struct XorrisO *xorriso, char *cmd, int argc, char **argv, int idx, int *end_idx, int *optc, char ***optv, int flag)
int Xorriso_check_name_len(struct XorrisO *xorriso, char *name, int size, char *cmd, int flag)
int Xorriso_check_md5(struct XorrisO *xorriso, void *in_node, char *path, int flag)
int Xorriso_restore(struct XorrisO *xorriso, char *img_path, char *disk_path, off_t offset, off_t bytes, int flag)
int Sfile_type(char *filename, int flag)
int Sfile_add_to_path(char path[4096], char *addon, int flag)
int Sfile_leafname(char *path, char leafname[4096], int flag)
int Sfile_str(char target[4096], char *source, int flag)
int Sfile_prepend_path(char *prefix, char path[4096], int flag)
#define Xorriso_free_meM(pt)
#define Xorriso_alloc_meM(pt, typ, count)
unsigned char boot_id_string[29]
int boot_image_cat_hidden
char boot_image_bin_form[16]
uint8_t appended_part_gpt_flags[8]
char boot_image_cat_path[4096]
int partition_heads_per_cyl
char efi_boot_partition[4096]
int find_check_md5_result
char result_line[10 *4096]
int volset_change_pending
uint8_t hfsp_serial_number[8]
char prep_partition[4096]
struct SectorbitmaP * in_sector_map
unsigned char boot_selection_crit[21]
char * appended_partitions[8]
uint8_t appended_part_type_guids[8][16]
char ascii_disc_label[129]
uint32_t partition_offset
int boot_img_size_default
uint8_t iso_gpt_type_guid[16]
int partition_secs_per_head
int system_area_clear_loaded
char boot_image_bin_path[4096]
off_t boot_image_load_size
int check_media_bad_limit
char application_use[4096]
char assert_volid_sev[80]
char grub2_sparc_core[4096]
struct CheckmediajoB * check_media_default
uint8_t appended_part_types[8]
int Xorriso_msgs_submit(struct XorrisO *xorriso, int error_code, char msg_text[], int os_errno, char severity[], int flag)
int Xorriso_process_errfile(struct XorrisO *xorriso, int error_code, char msg_text[], int os_errno, int flag)
int Xorriso_no_findjob(struct XorrisO *xorriso, char *cmd, int flag)
int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done, off_t count, off_t todo, char *current_object, int flag)
int Xorriso_no_malloc_memory(struct XorrisO *xorriso, char **to_free, int flag)
int Xorriso_write_session_log(struct XorrisO *xorriso, int flag)
int Xorriso_info(struct XorrisO *xorriso, int flag)
int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
int Xorriso_report_md5_outcome(struct XorrisO *xorriso, char *severity, int flag)
char * Xorriso_esc_filepath(struct XorrisO *xorriso, char *in_text, char *out_text, int flag)
int Xorriso_pacifier_reset(struct XorrisO *xorriso, int flag)
int Xorriso_reassure(struct XorrisO *xorriso, char *cmd, char *which_will, int flag)
int Xorriso_result(struct XorrisO *xorriso, int flag)
int Xorriso_blank_media(struct XorrisO *xorriso, int flag)
int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, int flag)
int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int flag)
int Xorriso_parse_type_guid(struct XorrisO *xorriso, char *text, uint8_t guid[16], int *mbr_type, int flag)
int Xorriso_parse_gpt_guid(struct XorrisO *xorriso, char *text, int flag)
int Xorriso_blank_as_needed(struct XorrisO *xorriso, int flag)
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
int Xorriso_close_damaged(struct XorrisO *xorriso, int flag)
int Xorriso_retry_write_session(struct XorrisO *xorriso, int flag)
int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize, char *head_buffer, struct CheckmediajoB *job, int flag)
int Xorriso_attach_boot_image(struct XorrisO *xorriso, int flag)
int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
#define Xorriso_max_appended_partitionS
#define Xorriso_disc_label_sizE