⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkisofs.c

📁 一款功能很强的光盘镜象制作工具
💻 C
📖 第 1 页 / 共 5 页
字号:
			break;		case OPTION_CHECK_OLDNAMES:			check_oldnames++;			break;		case OPTION_CHECK_SESSION:			check_session++;			check_oldnames++;			merge_image = optarg;			outfile = "/dev/null";			/*			 * cdrecord_data is handled specially in multi.c			 * as we cannot write to all strings.			 * If mkisofs is called with -C xx,yy			 * our default is overwritten.			 *//*			cdrecord_data = "0,0";*/			break;		case OPTION_COPYRIGHT:			copyright = optarg;			if (strlen(copyright) > 37) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,				"Copyright filename string too long\n");#else				fprintf(stderr,				"Copyright filename string too long\n");				exit(1);#endif			};			break;		case OPTION_DEBUG:			debug++;			break;		case 'd':			omit_period++;			warn_violate++;			break;		case 'D':			RR_relocation_depth = 32767;			break;		case 'f':			follow_links++;#ifdef	USE_LIBSCHILY			errmsgno(EX_BAD,			"Warning: -follow-links does not always work correctly; be careful.\n");#else			fprintf(stderr,			"Warning: -follow-links does not always work correctly; be careful.\n");#endif			break;		case 'l':			full_iso9660_filenames++;			break;		case OPTION_MAX_FILENAMES:			iso9660_namelen = MAX_ISONAME;	/* allow 37 chars */			full_iso9660_filenames++;			omit_version_number++;			warn_violate++;			break;		case 'L':			/*			 * -L Reserved by POSIX.1-2001			 * Meaning: Follow all symbolic links			 */			allow_leading_dots++;			warn_violate++;			break;		case OPTION_LOG_FILE:			log_file = optarg;			break;		case 'M':			merge_image = optarg;			break;		case 'N':			omit_version_number++;			warn_violate++;			break;		case OPTION_FORCE_RR:			force_rr++;			break;		case OPTION_NO_RR:			no_rr++;			break;		case 'o':			outfile = optarg;			break;		case OPTION_PAD:			dopad++;			break;		case OPTION_NOPAD:			dopad = 0;			break;		case OPTION_P_LIST:			pathnames = optarg;			break;		case 'p':			preparer = optarg;			if (strlen(preparer) > 128) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Preparer string too long\n");#else				fprintf(stderr, "Preparer string too long\n");				exit(1);#endif			};			break;		case OPTION_PRINT_SIZE:			print_size++;			break;		case 'P':			/*			 * -P Reserved by POSIX.1-2001			 * Meaning: Do not follow symbolic links			 */			publisher = optarg;			if (strlen(publisher) > 128) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,						"Publisher string too long\n");#else				fprintf(stderr, "Publisher string too long\n");				exit(1);#endif			};			break;		case OPTION_QUIET:			verbose = 0;			break;		case 'R':			use_RockRidge++;			break;		case 'r':			rationalize_all++;			use_RockRidge++;			break;#ifdef	Needed_for_Next_release		case 's':		case 'S':#ifdef	USE_LIBSCHILY			errmsgno(EX_BAD, "Option -%c is reserved for future use.\n", c);#else			fprintf(stderr, "Option -%c is reserved for future use.\n", c);#endif			susage(1);#endif		case OPTION_NEW_DIR_MODE:			rationalize++;		{			char	*end = 0;			new_dir_mode = strtol(optarg, &end, 8);			if (!end || *end != 0 ||			    new_dir_mode < 0 || new_dir_mode > 07777) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Bad mode for -new-dir-mode\n");#else				fprintf(stderr, "Bad mode for -new-dir-mode\n");				exit(1);#endif			} 			break;		}		case OPTION_UID:			rationalize++;			use_RockRidge++;			rationalize_uid++;		{			char	*end = 0;			uid_to_use = strtol(optarg, &end, 0);			if (!end || *end != 0) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Bad value for -uid\n");#else				fprintf(stderr, "Bad value for -uid\n");				exit(1);#endif			} 			break;		}		case OPTION_GID:			rationalize++;			use_RockRidge++;			rationalize_gid++;		{			char	*end = 0;			gid_to_use = strtol(optarg, &end, 0);			if (!end || *end != 0) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Bad value for -gid\n");#else				fprintf(stderr, "Bad value for -gid\n");				exit(1);#endif			} 			break;		}		case OPTION_FILEMODE:			rationalize++;			use_RockRidge++;			rationalize_filemode++;		{			char	*end = 0;			filemode_to_use = strtol(optarg, &end, 8);			if (!end || *end != 0 ||			    filemode_to_use < 0 || filemode_to_use > 07777) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Bad mode for -file-mode\n");#else				fprintf(stderr, "Bad mode for -file-mode\n");				exit(1);#endif			} 			break;		}		case OPTION_DIRMODE:			rationalize++;			use_RockRidge++;			rationalize_dirmode++;		{			char	*end = 0;			dirmode_to_use = strtol(optarg, &end, 8);			if (!end || *end != 0 ||			    dirmode_to_use < 0 || dirmode_to_use > 07777) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD, "Bad mode for -dir-mode\n");#else				fprintf(stderr, "Bad mode for -dir-mode\n");				exit(1);#endif			} 			break;		}#ifdef SORTING		case OPTION_SORT:			do_sort++;			add_sort_list(optarg);			break;#endif /* SORTING */		case OPTION_SPLIT_OUTPUT:			split_output++;			break;		case OPTION_SYSID:			system_id = optarg;			if (strlen(system_id) > 32) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,						"System ID string too long\n");#else				fprintf(stderr, "System ID string too long\n");				exit(1);#endif			};			break;		case OPTION_TRANS_TBL:			trans_tbl = optarg;		/* fall through */		case 'T':			generate_tables++;			break;		case OPTION_UCS_LEVEL:			ucs_level = atoi(optarg);			if (ucs_level < 1 || ucs_level > 3)				comerrno(EX_BAD, "Illegal UCS Level %d, use 1..3.\n",							ucs_level);			break;#ifdef UDF		case OPTION_UDF:			use_udf++;			break;#endif#ifdef DVD_VIDEO		case OPTION_DVD:			use_udf++;			dvd_video++;			break;#endif					case OPTION_USE_FILEVERSION:			use_fileversion++;			break;		case 'U':			/*			 * Minimal (only truncation of 31+ characters)			 * translation of filenames.			 *			 * Forces -l, -d, -L, -N, -relaxed-filenames,			 * -allow-lowercase, -allow-multidot			 *			 * This is for HP-UX, which does not recognize ANY			 * extentions (Rock Ridge, Joliet), causing pain when			 * loading software. pfs_mount can be used to read the			 * extensions, but the untranslated filenames can be			 * read by the "native" cdfs mounter. Completely			 * violates iso9660.			 */			full_iso9660_filenames++;	/* 31 chars	*/			omit_period++;			/* trailing dot */			allow_leading_dots++;			omit_version_number++;			relaxed_filenames++;		/* all chars	*/			allow_lowercase++;		/* even lowcase	*/			allow_multidot++;		/* > 1 dots	*/			warn_violate++;			break;		case OPTION_RELAXED_FILENAMES:			relaxed_filenames++;			warn_violate++;			break;		case OPTION_GBK4DOS_FILENAMES:			gbk4dos_filenames++;			warn_violate++;			break;		case OPTION_GBK4WIN_FILENAMES:			gbk4win_filenames++;			warn_violate++;			break;		case OPTION_ALLOW_LOWERCASE:			allow_lowercase++;			warn_violate++;			break;		case OPTION_ALLOW_MULTIDOT:			allow_multidot++;			warn_violate++;			break;		case OPTION_ISO_TRANSLATE:			iso_translate = 0;			warn_violate++;			break;		case 'V':			volume_id = optarg;			if (strlen(volume_id) > 32) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,					"Volume ID string too long\n");#else				fprintf(stderr,					"Volume ID string too long\n");				exit(1);#endif			};			break;		case OPTION_VOLSET:			volset_id = optarg;			if (strlen(volset_id) > 128) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,				"Volume set ID string too long\n");#else				fprintf(stderr,				"Volume set ID string too long\n");				exit(1);#endif			};			break;		case OPTION_VOLSET_SIZE:			volume_set_size = atoi(optarg);			break;		case OPTION_VOLSET_SEQ_NUM:			volume_sequence_number = atoi(optarg);			if (volume_sequence_number > volume_set_size) {#ifdef	USE_LIBSCHILY				comerrno(EX_BAD,				"Volume set sequence number too big\n");#else				fprintf(stderr,				"Volume set sequence number too big\n");				exit(1);#endif			}			break;		case 'v':			verbose++;			break;		case 'z':#ifdef VMS#ifdef	USE_LIBSCHILY			comerrno(EX_BAD,			"Transparent compression not supported with VMS\n");#else			fprintf(stderr,			"Transparent compression not supported with VMS\n");			exit(1);#endif#else			transparent_compression++;#endif			break;		case 'x':		case 'm':			/*			 * Somehow two options to do basically the same thing			 * got added somewhere along the way.  The 'match'			 * code supports limited globbing, so this is the one			 * that got selected. Unfortunately the 'x' switch is			 * probably more intuitive.			 */			add_match(optarg);			break;		case OPTION_X_LIST:			add_list(optarg);			break;		case OPTION_I_HIDE:			i_add_match(optarg);			break;		case OPTION_I_LIST:			i_add_list(optarg);			break;		case OPTION_H_HIDE:			h_add_match(optarg);			break;		case OPTION_H_LIST:			h_add_list(optarg);			break;		case OPTION_J_HIDE:			j_add_match(optarg);			break;		case OPTION_J_LIST:			j_add_list(optarg);			break;		case OPTION_HIDE_TRANS_TBL:			jhide_trans_tbl++;			break;		case OPTION_HIDE_RR_MOVED:			hide_rr_moved++;			break;		case OPTION_HELP:			usage(0);			break;		case OPTION_PVERSION:			printf("%s (%s-%s-%s)\n",				version_string,				HOST_CPU, HOST_VENDOR, HOST_OS);			exit(0);			break;		case OPTION_NOSPLIT_SL_COMPONENT:			split_SL_component = 0;			break;		case OPTION_NOSPLIT_SL_FIELD:			split_SL_field = 0;			break;		case OPTION_HARD_DISK_BOOT:			use_eltorito++;			hard_disk_boot++;			get_boot_entry();			current_boot_entry->hard_disk_boot = 1;			break;		case OPTION_NO_EMUL_BOOT:			use_eltorito++;			no_emul_boot++;			get_boot_entry();			current_boot_entry->no_emul_boot = 1;			break;		case OPTION_NO_BOOT:			use_eltorito++;			not_bootable++;			get_boot_entry();			current_boot_entry->not_bootable = 1;			break;		case OPTION_BOOT_LOAD_ADDR:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -