
##
###############################################################################
###############                   Tool 'wit'                    ###############
###############################################################################

#:def_tool( "wit", \
	"wit [option]... command [option|parameter|@file]...", \
	"Wiimms ISO Tool : It can list, analyze, verify, convert, split, join," \
	" patch, mix, extract, compose, rename and compare Wii and GameCube" \
	" images. It also can create and dump different other Wii file" \
	" formats." )

#:def_cmd( "VERSION", "VERSION", \
	"wit VERSION [ignored]...", \
	"Print program name and version and exit." )

#:def_cmd( "HELP", "HELP|H|?", \
	"wit HELP [command] [ignored]...", \
	"Print help and exit. If the first non option is a valid command name," \
	" then a help for the given command is printed." )

#:def_cmd( "INFO", "INFO", \
	"wit INFO [keyword]...", \
	"Print some internal information about the keywords. If the keyword" \
	" @ALL@ is set or no keyword is entered, then all informations are" \
	" printed. Possible keywords are: @IMAGE-FORMAT@ and @ALL@." )

#:def_cmd( "TEST", "TEST", \
	"wit TEST [ignored]...", \
	"Test options: All options are allowed, some are printed." )

#:def_cmd( "ERROR", "ERROR|ERR", \
	"wit ERROR [error_code]", \
	"Translate an exit code to a message name. If no exit code is entered," \
	" print a table with all error messages." )

#:def_cmd( "COMPR", "COMPR", \
	"wit COMPR [mode]...", \
	"Scan compression modes and print the normalized names. See option" \
	" {--compression} for syntax details. If no mode is given than print a" \
	" table with all available compression modes and alternative mode" \
	" names." )

#:def_cmd( "FEATURES", "FEATURES", \
	"wit FEATURES [feature]...", \
	"Check, if the requested features are available. All keywords are" \
	" possible. If no keyword is used, all supported features are printed." \
	" The exit status is 0 for 'all features supported', 1 for 'some" \
	" features supported' and 2 for 'no feature supported'." )

#:def_cmd( "ANAID", "ANAID", \
	"wit ANAID [id]...", \
	"Analyze the entered IDs and print one line for each ID with 3" \
	" columns: HEX_ID, ASCII_ID, Game title." )

#:def_cmd( "EXCLUDE", "EXCLUDE", \
	"wit EXCLUDE [additional_excludes]...", \
	"Dump the internal exclude database to standard output (stdout)." )

#:def_cmd( "TITLES", "TITLES", \
	"wit TITLES [additional_title_file]...", \
	"Dump the internal title database to standard output (stdout)." )

#:def_cmd( "GETTITLES", "GETTITLES", \
	"wit GETTITLES", \
	"Call the script 'load-titles.sh' in the share folder to update the" \
	" title database." )

#:def_cmd( "CERT", "CERT", \
	"wit CERT [additional_cert_file]...", \
	"Collect certificates and eliminate multiple entires of the same" \
	" certificate. Dump all collected certificates to standard output" \
	" (stdout) and/or write the certificate to a new binary cert file. The" \
	" optional parameters are handled like parameters of option {--cert}." )

#:def_cmd( "CREATE", "CREATE", \
	"wit CREATE TICKET outfile [--id id] [title_id] [decrypted_key]\n" \
	"wit CREATE TMD outfile [--id id] [--ios ios] [hash_val]", \
	"Create a system file (TICKET or TMD)." )

#:def_cmd( "DOLPATCH", "DOLPATCH", \
	"wit DOLPATCH dolfile [sub_command]...", \
	"Patch a dol file. A sub-command is either (upper case are keywords)" \
	" 'XML=filname' or 'NEW=type,addr,size' or 'NEW=type,AUTO ' or" \
	" 'LOAD=addr,filename' or 'addr=patch[#cond]', and 'type' is either" \
	" 'TEXT' or 'DATA'." )

#:def_cmd( "FILELIST", "FILELIST|FLIST", \
	"wit FILELIST [source]...", \
	"List all source files in a table." )

#:def_cmd( "FILETYPE", "FILETYPE|FTYPE", \
	"wit FILETYPE [source]...", \
	"Print a status line for each source file." )

#:def_cmd( "ISOSIZE", "ISOSIZE|SIZE", \
	"wit ISOSIZE [source]...", \
	"Print a status line with size infos for each source file." )

#:def_cmd( "DUMP", "DUMP|D", \
	"wit DUMP [source]...", \
	"Dump the data structure and content of Wii and GameCube ISO files," \
	" @cert.bin@, @ticket.bin@, @tmd.bin@, @header.bin@, @boot.bin@," \
	" @fst.bin@ and of DOL-files. The file type is detected automatically" \
	" by analyzing the content." )

#:def_cmd( "ID6", "ID6|ID", \
	"wit ID6 [source]...", \
	"Print ID6 of all found ISO files as simple list." )

#:def_cmd( "ID8", "ID8", \
	"wit ID8 [source]...", \
	"Print ID6 + 2 next bytes as disc and version number of all found ISO" \
	" files as simple list." )

#:def_cmd( "FRAGMENTS", "FRAGMENTS", \
	"wit FRAGMENTS [source]...", \
	"Print the image fragments and, if possible, their file system mapping" \
	" and fragments. If option --brief is set, only the fragment counts" \
	" are printed. The Mac version can only detect the file system mapping" \
	" for WBFS partitions." )

#:def_cmd( "LIST", "LIST|LS", \
	"wit LIST [source]...", \
	"List all found ISO files." )

#:def_cmd( "LIST_L", "LIST-L|LL|LISTL", \
	"wit LIST-L [source]...", \
	"List all found ISO files with size and region. 'LIST-L' is a shortcut" \
	" for {LIST --long}." )

#:def_cmd( "LIST_LL", "LIST-LL|LLL|LISTLL", \
	"wit LIST-LL [source]...", \
	"List all found ISO files with date, size and region. 'LIST-LL' is a" \
	" shortcut for {LIST --long --long}." )

#:def_cmd( "LIST_LLL", "LIST-LLL|LLLL|LISTLLL", \
	"wit LIST-LLL [source]...", \
	"List all found ISO files with date, size and region and add a second" \
	" status line with more info. 'LIST-LLL' is a shortcut for {LIST" \
	" --long --long --long}." )

#:def_cmd( "FILES", "FILES|F|ILIST|IL", \
	"wit FILES [source]...", \
	"List all files of all discs." )

#:def_cmd( "FILES_L", "FILES-L|FL|FILESL|ILIST-L|ILL|ILISTL", \
	"wit FILES-L [source]...", \
	"List all files of all discs. 'FILES-L' is a shortcut for {FILES" \
	" --long}." )

#:def_cmd( "FILES_LL", "FILES-LL|FLL|FILESLL|ILIST-LL|ILLL|ILISTLL", \
	"wit FILES-LL [source]...", \
	"List all files of all discs. 'FILES-LL' is a shortcut for {FILES" \
	" --long --long}." )

#:def_cmd( "DIFF", "DIFF|CMP", \
	"wit DIFF source dest\n" \
	"wit DIFF [[--source|--recurse] source]... [-d|-D] dest", \
	"DIFF compares ISO images in scrubbed or raw mode or on file level." \
	" Images, WBFS partitions and directories are accepted as source. DIFF" \
	" works like {COPY} but comparing source and destination." )

#:def_cmd( "FDIFF", "FDIFF|FCMP", \
	"wit FDIFF source dest\n" \
	"wit FDIFF [[--source|--recurse] source]... [-d|-D] dest", \
	"FDIFF compares ISO images on file level. Images, WBFS partitions and" \
	" directories are accepted as source. 'FDIFF' is a shortcut for {DIFF" \
	" --files +}." )

#:def_cmd( "EXTRACT", "EXTRACT|X", \
	"wit EXTRACT source dest\n" \
	"wit EXTRACT [[--source|--recurse] source]... [-d|-D] dest", \
	"Extract all files of each source to new directory structures. Images," \
	" WBFS partitions and directories are accepted as source." )

#:def_cmd( "COPY", "COPY|CP", \
	"wit COPY source dest\n" \
	"wit COPY [[--source|--recurse] source]... [-d|-D] dest", \
	"Copy, scrub, convert, join, split, compose, extract, patch, encrypt" \
	" and decrypt Wii and GameCube disc images. Images, WBFS partitions" \
	" and directories are accepted as source." )

#:def_cmd( "CONVERT", "CONVERT|CV|SCRUB|SB", \
	"wit CONVERT source\n" \
	"wit CONVERT [[--source|--recurse] source]...", \
	"Convert, scrub, join, split, compose, extract, patch, encrypt and" \
	" decrypt Wii and GameCube disc images and replace the source with the" \
	" result. Images, WBFS partitions and directories are accepted as" \
	" source. The former command name was @SCRUB@.\n" \
	"  {wit CONVERT} is like {wit COPY} but removes the source and replace" \
	" it with the new file if copying is successful. It have been" \
	" implemented as replacement of the @SCRUB@ command of other tools." \
	" {wit CONVERT} does more than only scrubbing and therefor it was" \
	" renamed from @'SCRUB'@ to @'CONVERT'@, but the old command name is" \
	" still allowed." )

#:def_cmd( "EDIT", "EDIT|ED", \
	"wit EDIT source\n" \
	"wit EDIT [[--source|--recurse] source]...", \
	"Edit an existing Wii and GameCube ISO image and patch some values." \
	" Images, WBFS partitions and directories are accepted as source." )

#:def_cmd( "IMGFILES", "IMGFILES|IF", \
	"wit IMGFILES source\n" \
	"wit IMGFILES [[--source|--recurse] source]...", \
	"Print a list of all image files including their associated split" \
	" files. Each file is printed on a separate line for further batch" \
	" processing." )

#:def_cmd( "REMOVE", "REMOVE|RM", \
	"wit REMOVE source\n" \
	"wit REMOVE [[--source|--recurse] source]...", \
	"Remove images including their associated split files." )

#:def_cmd( "MOVE", "MOVE|MV", \
	"wit MOVE source dest\n" \
	"wit MOVE [[--source|--recurse] source]... [-d|-D] dest", \
	"Move and rename Wii and GameCube ISO images. Images, WBFS partitions" \
	" and directories are accepted as source." )

#:def_cmd( "RENAME", "RENAME|REN", \
	"wit RENAME id6=[new][,title]...", \
	"Rename the ID6 of discs. Disc title can also be set." )

#:def_cmd( "SETTITLE", "SETTITLE|ST", \
	"wit SETTITLE id6=title...", \
	"Set the disc title of discs." )

#:def_cmd( "VERIFY", "VERIFY|V", \
	"wit VERIFY [source]...", \
	"Verify ISO images (calculate and compare SHA1 checksums) to find bad" \
	" dumps." )

#:def_cmd( "SKELETON", "SKELETON|SKEL", \
	"wit SKELETON [source]...", \
	"Create very small skeletons of ISO images. A skeleton contains only" \
	" disc and partition headers for further analysis and is not playable" \
	" because all files are zeroed." )

#:def_cmd( "MIX", "MIX", \
	"wit MIX SOURCE... --dest|--DEST outfile\n" \
	"  where SOURCE    = infile [QUALIFIER]...\n" \
	"  where QUALIFIER = 'select' part_type\n" \
	"                  | 'as' [part_table '.'] [part_type]\n" \
	"                  | 'ignore' ruleset\n" \
	"                  | 'header'\n" \
	"                  | 'region'", \
	"Mix the partitions from different sources into one new Wii or" \
	" GameCube disc." )

#:def_opt( "VERSION", "V|version", "G", \
	"", \
	"Stop parsing the command line, print a version info and exit." )

#:def_opt( "HELP", "h|help", "G", \
	"", \
	"Stop parsing the command line, print a help message and exit." )

#:def_opt( "XHELP", "xhelp", "G", \
	"", \
	"Stop parsing the command line and print a help message with all" \
	" commands included. Exit after printing." )

#:def_opt( "WIDTH", "width", "GP", \
	"width", \
	"Define the width (number of columns) for help and some other messages" \
	" and disable the automatic detection of the terminal width." )

#:def_opt( "QUIET", "q|quiet", "GM", \
	"", \
	"Be quiet and print only error messages." )

#:def_opt( "VERBOSE", "v|verbose", "GM", \
	"", \
	"Be verbose and print more progress information. Multiple usage is" \
	" possible: Progress counter is enabled if set at least two times." \
	" Extended logging is enabled if set at least four times. The impact" \
	" of the other verbose levels are command dependent." )

#:def_opt( "PROGRESS", "P|progress", "G", \
	"", \
	"Print progress counter. If --verbose is set at least twice, printing" \
	" is enabled too. If progress is enabled, the default of --dsync is" \
	" changed." )

#:def_opt( "SCAN_PROGRESS", "scan-progress|scanprogress", "G", \
	"", \
	"Print a message for each found image while scanning the file system." )

#:def_opt( "LOGGING", "L|logging", "GM", \
	"", \
	"This debug option enables the logging of internal memory maps. If set" \
	" twice second level memory maps are printed too." )

#:def_opt( "ESC", "E|esc", "GP", \
	"char", \
	"Define an alternative escape character for destination files. The" \
	" default is '%'. For Windows (CYGWIN) it is a good choice to set" \
	" @'-E$$'@ to avoid conflicts with command shell variables." )

#:def_opt( "COLOR", "color", "GO", \
	"[=modus]", \
	"Define the modus for colored text output. Allowed keywords are: @OFF@" \
	" or @NO-COLORS@ to disable colors, @AUTO@ (default) for automatic" \
	" detection, @ON@ for automatic detection but never @OFF@, @8-COLORS@" \
	" and @256-COLORS@ for 8 and 256 color support. Without parameter," \
	" @ON@ is used.\n" \
	"  @AUTO@ will enable colorized output only for terminals. @AUTO@ and" \
	" @ON@ use environment variable @TERM@ to find the correct color" \
	" modus.\n" \
	"  If a command is prefixed by @'C-'@, then @--color=ON@ is used" \
	" implicitly as default." )

#:def_opt( "COLOR_256", "256-colors|256colors", "G", \
	"", \
	"Short cut for {--color=256-colors}: Force colorized text with 256" \
	" color support." )

#:def_opt( "NO_COLOR", "no-colors|nocolors", "G", \
	"", \
	"Short cut for {--color=off}: Deactivate colorized text. This is the" \
	" default, if an output file is not a terminal." )

#:def_opt( "IO", "io", "GP", \
	"flags", \
	"Setup the IO mode for experiments. The standard file IO is based on" \
	" open() function. The value '1' defines that WBFS IO is based on" \
	" fopen() function. The value '2' defines the same for ISO files and" \
	" value '4' for WIA files. You can combine the values by adding them." )

#:def_opt( "FORCE", "f|force", "G", \
	"", \
	"Force operation." )

#:def_opt( "DSYNC", "dsync", "GO", \
	"[=mode]", \
	"This option enables the usage of flag O_DSYNC when opening a" \
	" partition at a hard drive for writing. With activated flag, writing" \
	" an image is some percent slower, but the progress counters are exact" \
	" again.\n" \
	"  Parameter MODE is optional. If set, it is one of OFF (disable), ON" \
	" (enable) or AUTO (default). With AUTO, DSYNC is enabled if the" \
	" progress counters are active.\n" \
	"  This option has only impact, if compiler and operation system" \
	" support the flag O_DSYNC. Linux does." )

#:def_opt( "TITLES", "T|titles", "GMP", \
	"file", \
	"Read file for disc titles. @-T/@ disables automatic search for title" \
	" files." )

#:def_opt( "UTF_8", "utf-8|utf8", "G", \
	"", \
	"Enables UTF-8 support for filenames (default)." )

#:def_opt( "NO_UTF_8", "no-utf-8|no-utf8|noutf8", "G", \
	"", \
	"Disables UTF-8 support for filenames." )

#:def_opt( "LANG", "lang", "GP", \
	"lang", \
	"Define the language for titles." )

#:def_opt( "CERT", "cert", "GMP", \
	"file", \
	"Scan a file for certificates and add them to the internal certificate" \
	" database. Valid sources are CERT, TICKET, TMD and ISO files. All" \
	" partitions of ISO images are scanned for certificates. Files without" \
	" certificates are ignored without notification." )

#:def_opt( "TEST", "t|test", "GM", \
	"", \
	"Run in test mode, modify nothing.\n" \
	">>> USE THIS OPTION IF UNSURE! <<<" )

#:def_opt( "SOURCE", "s|source", "CMP", \
	"path", \
	"Use the entered file or directory as source.\n" \
	"  Directories are expanded to all containing files but hidden files" \
	" (file names begins with a point) are ignored. If a command needs" \
	" only images then non image files of the directory are ignored" \
	" without notification. The option {--no-expand} suppress the" \
	" directory expansion." )

#:def_opt( "NO_EXPAND", "no-expand|noexpand", "C", \
	"", \
	"Do not expand directories to the containing files or images. This" \
	" option does not change the behavior of {--recurse}." )

#:def_opt( "RECURSE", "r|recurse", "CMP", \
	"path", \
	" If @path@ is not a directory, then it is used as a simple source" \
	" file like {--source}.\n" \
	"  Directories are scanned for source files recursively. The option" \
	" {--rdepth} limits the search depth. Hidden files and hidden sub" \
	" directories (file names begins with a point) and files with non" \
	" supported file types (non ISO files for most commands) are ignored" \
	" without notification." )

#:def_opt( "RDEPTH", "rdepth", "CP", \
	"depth", \
	"Set the maximum recurse depth for option {--recurse}. The default" \
	" search depth is 10." )

#:def_opt( "AUTO", "a|auto", "C", \
	"", \
	"Search WBFS partitions using '/proc/partitions' or searching hard" \
	" disks in '/dev/' and use all readable as source. This works like" \
	" {wwt --auto --all}." )

#:def_opt( "EXCLUDE", "x|exclude", "CMP", \
	"id", \
	"A comma separated list with ID4 and ID6 values is expected. @'.'@ is" \
	" a wildcard for exact 1 character and @'+'@ is a wildcard for any" \
	" number characters. If the parameter begins with a '@@' the given" \
	" file is read and each line is scanned for one ID. Images with the" \
	" given ID are excluded from operation. Each use of this option" \
	" expands the exclude list. See {--include-first} for precedence" \
	" issues." )

#:def_opt( "EXCLUDE_PATH", "X|exclude-path|excludepath", "CMP", \
	"file_or_dir", \
	"Scan the ID of the source and add it to the exclude list. If the" \
	" source is a directory then scan all images of the directory. Images" \
	" with the given ID are excluded from operation. Each use of this" \
	" option expands the exclude list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE", "n|include", "CMP", \
	"id", \
	"A comma separated list with ID values is expected. @'.'@ is a" \
	" wildcard for exact 1 character and @'+'@ is a wildcard for any" \
	" number characters. If the parameter begins with a '@@' the given" \
	" file is read and each line is scanned for one ID. Only images with" \
	" the given ID are included into the operation. Each use of this" \
	" option expands the include list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE_PATH", "N|include-path|includepath", "CMP", \
	"file_or_dir", \
	"Scan the ID of the source and add it to the include list. If the" \
	" source is a directory then scan all images of the directory. Only" \
	" images with the given ID are included into the operation. Each use" \
	" of this option expands the include list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE_FIRST", "include-first|includefirst", "C", \
	"", \
	"The options {--include}, {--include-path}, {--exclude} and" \
	" {--exclude-path} decide which discs are included into the operation." \
	" If neither include nor exclude options are used, than all disc are" \
	" included into the operation. If only include options are used, than" \
	" only the specified discs are operated. If only exclude options are" \
	" used, than all all discs but not the excluded are operated.\n" \
	"  If include and exclude options are used together and" \
	" @--include-first@ is not set, than all discs are operated that are" \
	" specified by any include option and not by any exclude option. If" \
	" @--include-first@ is set, than all discs are ignored that are" \
	" specified by any exclude option and not by any include option." )

#:def_opt( "ONE_JOB", "1|one-job|onejob", "C", \
	"", \
	"Execute only the first job and exit. This is a shortcut for" \
	" {--job-limit 1}." )

#:def_opt( "JOB_LIMIT", "job-limit|joblimit", "CP", \
	"num", \
	"Execute only the first @'num'@ jobs and exit. If done without errors" \
	" the exit status is OK (zero)." )

#:def_opt( "FAKE_SIGN", "fake-sign|fakesign", "CP", \
	"ruleset", \
	"Add a certificate selection rule. All certificates that matches the" \
	" rule set will be fake signed." )

#:def_opt( "IGNORE", "i|ignore", "CM", \
	"", \
	"Ignore non existing files/discs without warning. If set twice then" \
	" all non Wii and GameCube ISO images are ignored too." )

#:def_opt( "IGNORE_FST", "ignore-fst|ignorefst", "C", \
	"", \
	"Disable composing and ignore FST directories as input." )

#:def_opt( "IGNORE_SETUP", "ignore-setup|ignoresetup", "C", \
	"", \
	"While composing ignore the file @'setup.txt'@, which defines some" \
	" partition parameters." )

#:def_opt( "LINKS", "links", "C", \
	"", \
	"Detect soft and hard linked source files while composing or" \
	" extracting discs and try to create hard links instead of independent" \
	" copies on the destination file system." )

#:def_opt( "NULL", "0|null", "C", \
	"", \
	"Terminate each output line with a NUL (ASCII 0) character instead" \
	" with a line feed (LF, ASCII 10)." )

#:def_opt( "PSEL", "psel", "CP", \
	"list", \
	"This option set the scrubbing mode and defines, which disc partitions" \
	" are handled. It expects a comma separated list of keywords, numbers" \
	" and names; all together called parameter. All parameters are case" \
	" insensitive and non ambiguous abbreviations of keywords are allowed.\n" \
	"  Each parameter becomes a rule and each rule is appended to a rule" \
	" list. Rules prefixed by a minus sign are DENY rules. Rules prefixed" \
	" by a plus sign or without a prefix are ALLOW rules. Each partition" \
	" is compared with each rule until a rule matches the partition. If a" \
	" match it found, the partition is enabled for a ALLOW rule or" \
	" disabled for a DENY rule.\n" \
	"  The allowed keywords are: @DATA@, @UPDATE@, @CHANNEL@, @PTAB0@ .." \
	" @PTAB3@, @ID@, @ALL@, @WHOLE@ and @RAW@. The following input formats" \
	" are accepted too: @ptype@, @#index@, @#<index@, @#<=index@," \
	" @#>index@, @#>=index@ and @#tab_index.part_index@." )

#:def_opt( "RAW", "raw", "C", \
	"", \
	"Abbreviation of {--psel RAW}." )

#:def_opt( "PMODE", "pmode", "CP", \
	"p-mode", \
	"This options set the prefix mode for listed or extracted files. One" \
	" of the following values is allowed: @AUTO, NONE, POINT, ID, NAME," \
	" INDEX, COMBI@. The default value is @'AUTO'@." )

#:def_opt( "FLAT", "flat", "C", \
	"", \
	"While extracting a disc image strip all path names of the source file" \
	" and store all files in the same directory. This option sets the" \
	" default for {--pmode} to @NONE@." )

#:def_opt( "COPY_GC", "copy-gc|copygc", "C", \
	"", \
	"If extracting a GameCube disc image, don't extract the real files to" \
	" @'/files/...'@. Instead create a copy of the source image and store" \
	" it as @'game.iso'@. If the source image is already in this format," \
	" try to create a hard link and copy only if it fails." )

#:def_opt( "NO_LINK", "no-link|nolink", "C", \
	"", \
	"Don't try to create a hard link if copying the image forced by the" \
	" option --copy-gc." )

#:def_opt( "NEEK", "neek|sneek", "C", \
	"", \
	"Abbreviation of {--psel data --pmode none --files :neek --copy-gc}." \
	" The old name --sneek is accepted too." )

#:def_opt( "ENC", "enc", "CP", \
	"encoding", \
	"Define the encoding mode. The mode is one of NONE, HASHONLY, DECRYPT," \
	" ENCRYPT, SIGN or AUTO. The case of the keywords is ignored. The" \
	" default mode is 'AUTO'." )

#:def_opt( "MODIFY", "modify", "CP", \
	"list", \
	" This $patching$ option defines the impact of the options {--name}" \
	" and {--id}. It expects a comma separated list of the following" \
	" keywords (case ignored) as parameter: @NONE, DISC, BOOT, TICKET," \
	" TMD, WBFS, TT, ALL@ and @AUTO@ (default).\n" \
	"  All keywords can be prefixed by @'+'@ to enable that option, by a" \
	" @'-'@ to disable it or by a @'='@ to enable that option and disable" \
	" all others." )

#:def_opt( "NAME", "name", "CP", \
	"name", \
	"This $patching$ option changes the name (disc title) of the disc to" \
	" the given parameter. Up to 63 characters are expected. The disc" \
	" header and boot.bin are objects to modify. The option {--modify}" \
	" selects the objects." )

#:def_opt( "ID", "id", "CP", \
	"id", \
	"This $patching$ option changes the ID of the disc to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. The" \
	" disc header, boot.bin, ticket.bin and tmd.bin are objects to modify." \
	" The option {--modify} selects the objects." )

#:def_opt( "DISC_ID", "disc-id|discid", "CP", \
	"id", \
	"This $patching$ option changes the ID of the disc header to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. Option" \
	" --disc-id overrides the definition of option {--id}." )

#:def_opt( "BOOT_ID", "boot-id|bootid", "CP", \
	"id", \
	"This $patching$ option changes the ID of boot.bin to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. Option" \
	" --boot-id overrides the definition of option {--id}." )

#:def_opt( "TICKET_ID", "ticket-id|ticketid", "CP", \
	"id", \
	"This $patching$ option changes the ID of ticket.bin to the given" \
	" parameter. 1 to 4 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 4 characters. Option" \
	" --ticket-id overrides the definition of option {--id}." )

#:def_opt( "TMD_ID", "tmd-id|tmdid", "CP", \
	"id", \
	"This $patching$ option changes the ID of tmd.bin to the given" \
	" parameter. 1 to 4 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 4 characters. Option" \
	" --tmd-id overrides the definition of option {--id}." )

#:def_opt( "TT_ID", "tt-id|ttid", "CP", \
	"id", \
	"This is a short cut for {--ticket id --tmd id}. If TICKET and TMD" \
	" differ, the game will freeze after loading. So it makes only sense" \
	" to change TICKET and TMD IDs together." )

#:def_opt( "WBFS_ID", "wbfs-id|wbfsid", "CP", \
	"id", \
	"This $patching$ option changes the ID of the WBFS header to the given" \
	" parameter if adding a file to a WBFS or if creating a WBFS file. 1" \
	" to 6 characters are expected. The already patched disc ID of the" \
	" source is used as base and only defined characters not equal '.' are" \
	" modified. The plus sign '+' is a wildcard for multiple '.' to fill" \
	" the complete entered ID to 6 characters. Option --wbfs-id overrides" \
	" the definition of option {--id}." )

#:def_opt( "REGION", "region", "CP", \
	"region", \
	"This $patching$ option defines the region of the disc. The region is" \
	" one of @JAPAN, USA, EUROPE, KOREA, FILE@ or @AUTO@ (default). The" \
	" case of the keywords is ignored. Unsigned numbers are also accepted." )

#:def_opt( "COMMON_KEY", "common-key", "CP", \
	"index", \
	"This $patching$ option defines the common key index as part of the" \
	" TICKET. Keywords @0@, @STANDARD@, @1@ and @KOREAN@ are accepted." )

#:def_opt( "IOS", "ios", "CP", \
	"ios", \
	"This $patching$ option defines the system version (IOS to load)" \
	" within TMD. The format is @'HIGH:LOW'@ or @'HIGH-LOW'@ or @'LOW'@." \
	" If only @LOW@ is set than @HIGH@ is assumed as 1 (standard IOS)." )

#:def_opt( "HTTP", "http", "C", \
	"", \
	"This $patching$ option replaces 'https' request to 'http' in the" \
	" files 'main.dol' and 'rel/StaticR.rel', if the files exist. It also" \
	" replaces the sub-domain 'naswii' to 'nas'." )

#:def_opt( "DOMAIN", "domain", "CP", \
	"domain", \
	"This $patching$ option replaces the domain 'nintendowifi.net' by the" \
	" new domain. The length of the new domain must not be larger than the" \
	" old length (16 characters).\n" \
	"  If the new domain length is not larger than 11, then 'gamespy.com'" \
	" of 'sake.gamespy.com' is replaced too.  This is a special support" \
	" for 'Super Smash Bros. Brawl'." )

#:def_opt( "WIIMMFI", "wiimmfi", "C", \
	"", \
	"Patch the images for $Wiimmfi$, the new custom server. It is a short" \
	" cut for {--http --domain wiimmfi.de}." )

#:def_opt( "RM_FILES", "rm-files|rm-file|rmfiles|rmfile", "CP", \
	"ruleset", \
	"This patching option defines filter rules to remove real files and" \
	" directories from the FST of the DATA partition. $Fake signing$ of" \
	" the TMD is necessary. The processing order of file options is:" \
	" {--rm-files --zero-files --ignore-files}." )

#:def_opt( "ZERO_FILES", "zero-files|zero-file|zerofiles|zerofile", "CP", \
	"ruleset", \
	"This patching option defines filter rules to zero (set size to zero)" \
	" real files of the FST of the DATA partition. $Fake signing$ of the" \
	" TMD is necessary. The processing order of file options is:" \
	" {--rm-files --zero-files --ignore-files}." )

#:def_opt( "OVERLAY", "overlay", "C", \
	"", \
	"Most partitions have holes (unused areas) in the data section. If" \
	" combining multiple partitions into one disc it is possible to" \
	" overlay the partitions so that the data of one partition resides in" \
	" the hole of other partitions. This option enables this feature. It" \
	" also limits the number of input partitions to 12, because the" \
	" calculation is rated as O(2sup>N/sup>). 12 partitions can be" \
	" combined in 479 millions permutations and all are tested with a back" \
	" tracking algorithm to find the best one." )

#:def_opt( "IGNORE_FILES", "ignore-files|ignore-file|ignorefiles|ignorefile", "CP", \
	"ruleset", \
	"This option defines filter rules to ignore real files of the FST of" \
	" the DATA partition. $Fake signing$ is not necessary, but the" \
	" partition becomes invalid, because the content of some files is not" \
	" copied. If such file is accessed the Wii will halt immediately," \
	" because the verification of the checksum calculation fails. The" \
	" processing order of file options is: {--rm-files --zero-files" \
	" --ignore-files}." )

#:def_opt( "ALIGN_PART", "align-part|alignpart", "CP", \
	"size", \
	"If creating or moving partitions the beginning of each partition is" \
	" set to an offset that is a multiple of the align size. Size must be" \
	" a power of 2 and at least 32 KiB (=default)." )

#:def_opt( "ALIGN_FILES", "align-files|alignfiles", "C", \
	"", \
	"If creating a partition the file 'align-files.txt' is read. Files" \
	" listed with values >=0x8000 (Wii sector size) are automatically" \
	" aligned to 0x8000." )

#:def_opt( "DEST", "d|dest", "CP", \
	"path", \
	"Define a destination path (directory or file). The destination path" \
	" is scanned for escape sequences (see option {--esc}) to allow" \
	" generic paths." )

#:def_opt( "DEST2", "D|DEST", "CP", \
	"path", \
	"Like {--dest}, but create the directory path automatically." )

#:def_opt( "AUTO_SPLIT", "auto-split|autosplit", "C", \
	"", \
	"Enable auto split modus: Split only if necessary and determine the" \
	" split size automatically.\n" \
	"  THIS OPTION IS EXPERIMENTAL. In future versions it becomes the" \
	" default." )

#:def_opt( "NO_SPLIT", "no-split|nosplit", "C", \
	"", \
	"Disable output file splitting. This is the default, but in future" \
	" versions, the new option {--auto-split} becomes the default." )

#:def_opt( "SPLIT", "z|split", "C", \
	"", \
	"Enable output file splitting. The default split size is 4 GB." )

#:def_opt( "SPLIT_SIZE", "Z|split-size|splitsize", "CP", \
	"sz", \
	"Enable output file splitting and define a split size. The parameter" \
	" 'sz' is a floating point number followed by an optional unit factor" \
	" (one of 'cb' [=1] or 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024])." \
	" The default unit is 'G' (GiB)." )

#:def_opt( "DISC_SIZE", "disc-size|discsize", "CP", \
	"size", \
	"Define a minimal (virtual) ISO disc size." )

#:def_opt( "PREALLOC", "prealloc", "CO", \
	"[=mode]", \
	"This option enables or disables the disc space preallocation. If" \
	" enabled the tools try to allocate disc space for the new files" \
	" before writing the data. This reduces the fragmentation but also" \
	" disables the sparse effect for preallocated areas.\n" \
	"  The optional parameter decides the preallocation mode: @OFF@ (or" \
	" @0@), @SMART@ (or @1@), @ALL@ (or @2@). If no parameter is set," \
	" @ALL@ is used.\n" \
	"  Mode @'OFF'@ disables the preallocation. Mode @'SMART'@ looks into" \
	" the source disc to find out the writing areas. @SMART@ is only" \
	" available for $ISO$, $CISO$ and $WBFS$ file types. For other file" \
	" types @ALL@ is used instead. Mode @'ALL'@ (the default) preallocate" \
	" the whole destination file. Because of the large holes in plain ISO" \
	" images, the @SMART@ mode is used for ISOs instead." )

#:def_opt( "TRUNC", "trunc", "C", \
	"", \
	"Truncate $PLAIN ISO$ and $WBFS$ images after creating or copying to" \
	" the minimal needed size with respect to the block size." )

#:def_opt( "CHUNK_MODE", "chunk-mode|chunkmode|chm", "CP", \
	"mode", \
	"Defines an operation mode for {--chunk-size} and {--max-chunks}." \
	" Allowed keywords are @'ANY'@ to allow any values, @'32K'@ to force" \
	" chunk sizes with a multiple of 32 KiB, @'POW2'@ to force chunk sizes" \
	" >=32K and with a power of 2 or @'ISO'@ for ISO images (more" \
	" restrictive as @'POW2'@, best for USB loaders). The case of the" \
	" keyword is ignored. The default key is @'ISO'@.\n" \
	"  @--chm@ is a shortcut for @--chunk-mode@." )

#:def_opt( "CHUNK_SIZE", "chunk-size|chunksize|chs", "CP", \
	"sz", \
	"Define the minimal chunk size if creating a CISO or WIA file (for WIA" \
	" details see option --compression}). The default is to calculate the" \
	" chunk size from the input file size and find a good value by using a" \
	" minimal value of 1 MiB for {--chunk-mode ISO} and @32 KiB@ for modes" \
	" @32K@ and @POW2@. For the modes @ISO@ and @POW2@ the value is" \
	" rounded up to the next power of 2. This calculation also depends" \
	" from option {--max-chunks}.\n" \
	"  The parameter 'sz' is a floating point number followed by an" \
	" optional unit factor (one of 'cb' [=1] or 'kmgtpe' [base=1000] or" \
	" 'KMGTPE' [base=1024]). The default unit is 'M' (MiB). If the number" \
	" is prefixed with a @'='@ then options {--chunk-mode} and" \
	" {--max-chunks} are ignored and the given value is used without any" \
	" rounding or changing.\n" \
	"  If the input file size is not known (e.g. reading from pipe), its" \
	" size is assumed as @12 GiB@.\n" \
	"  @--chs@ is a shortcut for @--chunk-size@." )

#:def_opt( "MAX_CHUNKS", "max-chunks|maxchunks|mch", "CP", \
	"n", \
	"Define the maximal number of chunks if creating a CISO file. The" \
	" default value is 8192 for {--chunk-mode ISO} and 32760 (maximal" \
	" value) for all other modes. If this value is set than the automatic" \
	" calculation of {--chunk-size} will be modified too.\n" \
	"  @--mch@ is a shortcut for @--max-chunks@." )

#:def_opt( "BLOCK_SIZE", "block-size|blocksize", "CP", \
	"size", \
	"If a mismatch is found in raw or disc mode then the comparison is" \
	" continued with the next block. This option sets the block size. The" \
	" default value is @32K@ (Wii sector size). This option is ignored in" \
	" quiet mode." )

#:def_opt( "COMPRESSION", "compression|compr", "CP", \
	"mode", \
	"Select one compression method, level and chunk size for new WIA" \
	" files. The syntax for mode is: @[method] [.level] [@@factor]@\n" \
	"  @'method'@ is the name of the method. Possible compressions method" \
	" are @NONE@, @PURGE@, @BZIP2@, @LZMA@ and @LZMA2@. There are" \
	" additional keywords: @DEFAULT@ (=@LZMA.5@@20@), @FAST@" \
	" (=@BZIP2.3@@10@), @GOOD@ (=@LZMA.5@@20@) @BEST@ (=@LZMA.7@@50@), and" \
	" @MEM@ (use best mode in respect to memory limit set by {--mem})." \
	" Additionally the single digit modes @0@ (=@NONE@), @1@ (=fast" \
	" @LZMA@) .. @9@ (=@BEST@)are defined. These additional keywords may" \
	" change their meanings if a new compression method is implemented.\n" \
	"  @'.level'@ is a point followed by one digit. It defines the" \
	" compression level. The special value @.0@ means: Use default" \
	" compression level (=@.5@).\n" \
	"  @'@@factor'@ is a factor for the chunk size. The base size is 2" \
	" MiB. The value@ @@0@ is replaced by the default factor@ @@20@ (40" \
	" MiB). If the factor is not set but option {--chunk-size} is set, the" \
	" factor will be calculated by using a rounded value of that option.\n" \
	"  All three parts are optional. All default values may be changed in" \
	" the future. @--compr@ is a shortcut for @--compression@ and" \
	" {--wia=mode} a shortcut for {--wia --compression mode}. The command" \
	" {wit COMPR} prints an overview about all compression modes." )

#:def_opt( "MEM", "mem", "CP", \
	"size", \
	"This option defines a memory usage limit for compressing files (in" \
	" MiB if no other unit is entered). When compressing a file with" \
	" method @MEM@ (see {--compression}) the the compression method, level" \
	" and chunk size are selected with respect to this limit.\n" \
	"  If this option is not set or the value is 0, then the environment" \
	" @$WIT_MEM$@ is tried to read instead. If this fails, the tool tries" \
	" to find out the total memory by reading @/proc/meminfo@. The limit" \
	" is set to 80% of the total memory minus 50 MiB." )

#:def_opt( "PRESERVE", "p|preserve", "C", \
	"", \
	"Preserve file times (atime+mtime) while copying an image. This option" \
	" is enabled by default if an unmodified disc image is copied." )

#:def_opt( "UPDATE", "u|update", "C", \
	"", \
	"Copy only files that do not exist. Already existing files are ignored" \
	" without warning." )

#:def_opt( "OVERWRITE", "o|overwrite", "C", \
	"", \
	"Overwrite already existing files without warning." )

#:def_opt( "DIFF", "diff", "C", \
	"", \
	"Diff source and destination after copying." )

#:def_opt( "REMOVE", "R|remove", "C", \
	"", \
	"Remove source files/discs if operation is successful. If the source" \
	" is an extracted file systems (FST) it isn't removed." )

#:def_opt( "WDF", "W|wdf", "CO", \
	"[=param]", \
	"Set the image output file type to WDF (Wii Disc Format). The output" \
	" format is either WDFv1 or WDFv2. It depends of the input file format" \
	" and of the aligning. {--wdf=param} is a short cut for {--wdf" \
	" --align-wdf=param}." )

#:def_opt( "WDF1", "wdf1", "CO", \
	"[=param]", \
	"Set image output file type to WDF and force version 1. {--wdf1=param}" \
	" is a short cut for {--wdf1 --align-wdf=param}." )

#:def_opt( "WDF2", "wdf2", "CO", \
	"[=param]", \
	"Set image output file type to WDF and force version 2. {--wdf2=param}" \
	" is a short cut for {--wdf2 --align-wdf=param}." )

#:def_opt( "ALIGN_WDF", "align-wdf|alignwdf|wdf-align|wdfalign", "GP", \
	"[align][,minhole]", \
	"Parameter @align@ defines the aligning factor for new WDF images. It" \
	" must be a power of 2 and smaller or equal than 1 GiB. The default" \
	" WDF alignment is 1 for WDF v1 and 4 for WDF v2. Usual values are 1," \
	" 512, 4K and 32K.\n" \
	"  The optional parameter @minhole@ defines the minimal hole size," \
	" before a new chunk is created. If NULL, an internal value is used to" \
	" minimize the total file size. @minhole@ can't be smaller than" \
	" @align@." )

#:def_opt( "ISO", "I|iso", "C", \
	"", \
	"Set image output file type to PLAIN ISO." )

#:def_opt( "CISO", "C|ciso", "C", \
	"", \
	"Set image output file type to CISO (Compact ISO, same as WBI)." )

#:def_opt( "WBFS", "B|wbfs", "C", \
	"", \
	"Set image output file type to WBFS (Wii Backup File System, default)." )

#:def_opt( "WIA", "wia", "CO", \
	"[=compr]", \
	"Set image output file type to WIA (Wii ISO Archive). The optional" \
	" parameter is a compression mode and {--wia=mode} is a shortcut for" \
	" {--wia --compression mode}." )

#:def_opt( "GCZ", "G|gcz", "C", \
	"", \
	"Set image output file type to GCZ (Dolphins GameCube Zip)." )

#:def_opt( "GCZ_ZIP", "gcz-zip|gczzip|gczip", "G", \
	"", \
	"If creating a GCZ image, a blockwise z-compression is tried. If the" \
	" compressed data is larger than 98.5%, the uncompressed data is" \
	" stored. Encrypted blocks are stored directly as uncompressed data," \
	" because the 98.5% test fails all the time.\n" \
	"  Option --gcz-zip disables this optimization for encrypted data and" \
	" makes the creation process slower." )

#:def_opt( "GCZ_BLOCK", "gcz-block|gczblock", "GP", \
	"size", \
	"The value defines the block size, if creating a GCZ image. The" \
	" default is 16K (also Dolphins default). Smaller values enlarge the" \
	" managment data and reduce the compression ratio. Use the option with" \
	" caution!" )

#:def_opt( "FST", "fst", "C", \
	"", \
	"Set image output mode to 'file system' (extracted ISO)." )

#:def_opt( "FILES", "F|files", "CMP", \
	"ruleset", \
	"Append file select rules. This option can be used multiple times to" \
	" extend the rule list. Rules beginning with a '+' or a '-' are allow" \
	" or deny rules rules. Rules beginning with a ':' are macros for" \
	" predefined rule sets." )

#:def_opt( "ITIME", "itime", "C", \
	"", \
	"Select 'itime' (insertion time) for printing. @--itime@ is an" \
	" abbreviation of {--time i}." )

#:def_opt( "MTIME", "mtime", "C", \
	"", \
	"Select 'mtime' (last modification time) for printing. @--mtime@ is an" \
	" abbreviation of {--time m}." )

#:def_opt( "CTIME", "ctime", "C", \
	"", \
	"Select 'ctime' (last status change time) for printing. @--ctime@ is" \
	" an abbreviation of {--time c}." )

#:def_opt( "ATIME", "atime", "C", \
	"", \
	"Select 'atime' (last access time) for printing. @--atime@ is an" \
	" abbreviation of {--time a}." )

#:def_opt( "TIME", "time", "CMP", \
	"list", \
	"Set time printing and sorting mode. The parameter is a comma" \
	" separated list of the following keywords, case is ignored: RESET," \
	" OFF, ON, SINGLE, MULTI, NONE, ALL, I, M, C, A, DATE, TIME, SEC," \
	" IDATE, MDATE, CDATE, ADATE, ITIME, MTIME, CTIME, ATIME, ISEC, MSEC," \
	" CSEC, ASEC." )

#:def_opt( "LONG", "l|long", "CM", \
	"", \
	"Print in long format. Multiple usage possible." )

#:def_opt( "BRIEF", "b|brief", "C", \
	"", \
	"Print only a summary." )

#:def_opt( "NUMERIC", "numeric", "C", \
	"", \
	"Force numeric output instead of printing names." )

#:def_opt( "TECHNICAL", "technical|tech", "C", \
	"", \
	"Force a technical output instead of user friendly text. --tech is a" \
	" short cut for --technical." )

#:def_opt( "REALPATH", "real-path|realpath", "C", \
	"", \
	"Print real path instead of entered path." )

#:def_opt( "SHOW", "+|show", "CP", \
	"list", \
	"This option allows fine control over the things that are to be" \
	" printed. The parameter is a comma separated list of the following" \
	" keywords, case is ignored: @NONE, INTRO, HEADER, SLOTS, GEOMETRY," \
	" D-ID, P-ID, P-TAB, P-INFO, P-MAP, D-MAP, W-MAP, TICKET, TMD, USAGE," \
	" PATCH, RELOCATE, FILES, UNUSED, OFFSET, SIZE, PATH@ and @ALL@. There" \
	" are some combined keys: @ID := D-ID,P-ID@, @PART :=" \
	" P-INFO,P-ID,P-MAP,TICKET,TMD@, @DISC := FILES,D-ID,D-MAP@, @MAP :=" \
	" P-MAP,D-MAP,W-MAP@.\n" \
	"  All keywords can be prefixed by '+' to enable that option, by a '-'" \
	" to disable it or by a '=' to enable that option and disable all" \
	" others.\n" \
	"  The additional keywords @DEC@ and @HEX@ can be used to set a" \
	" prefered number format. @-HEADER@ suppresses the output of header" \
	" lines.\n" \
	"  The commands recognize only some of these keywords and ignore the" \
	" others. If @--show@ is set, option {--long} is ignored for selecting" \
	" output elements." )

#:def_opt( "UNIT", "unit", "CP", \
	"list", \
	"This option set the output unit for sizes. The parameter is a comma" \
	" separated list of the following keywords, case is ignored: @1000=10," \
	" 1024=2, BYTES, K, M, G, T, P, E, KB, MB, GB, TB, PB, EB, KIB, MIB," \
	" GIB, TIB, PIB, EIB, HDS, WDS, GAMECUBE=GC, WII, AUTO@ and @DEFAULT@.\n" \
	"  The values @1000@ and @1024@ (=default base) set the base factor" \
	" and @BYTES, K, M, G, T, P, E@ the SI factor. @MB@ is a shortcut for" \
	" @1000,M@ and @MIB@ for @1024,M@; this is also valid for the other SI" \
	" factors. @AUTO@ selects a value dependent SI factor.\n" \
	"  @HDS@ and @WDS@ forces the output as multiple of the HD or Wii disc" \
	" sector size (512 or 32768 bytes). @GAMECUBE@ and @WII@ forces the" \
	" output of a floating point value as multiple of the single layer ISO" \
	" images size of the given type.\n" \
	"  @DEFAULT@ allows the command to select a adequate size unit." )

#:def_opt( "UNIQUE", "U|unique", "C", \
	"", \
	"Eliminate multiple entries with same ID6." )

#:def_opt( "NO_HEADER", "H|no-header|noheader", "C", \
	"", \
	"Suppress printing of header and footer." )

#:def_opt( "OLD_STYLE", "old-style|oldstyle", "C", \
	"", \
	"Print in old style. This is important for tools and GUIs that are" \
	" scanning the output." )

#:def_opt( "SECTIONS", "sections", "C", \
	"", \
	"Print in machine readable sections and parameter lines." )

#:def_opt( "SORT", "S|sort", "CP", \
	"list", \
	"Define the sort mode for listings. The parameter is a comma separated" \
	" list of the following keywords: @NONE, NAME, TITLE, PATH, NINTENDO," \
	" FILE, SIZE, OFFSET, REGION, WBFS, NPART, FRAGMENTS, ITIME, MTIME," \
	" CTIME, ATIME, TIME = DATE, DEFAULT, ASCENDING, DESCENDING =" \
	" REVERSE@." )

#:def_opt( "LIMIT", "limit", "CP", \
	"num", \
	"Limit the output to NUM messages." )

#:def_opt( "FILE_LIMIT", "file-limit|filelimit", "CP", \
	"size", \
	"This option is only used if comparing discs on file level. If not set" \
	" or set to null, then all files will be compared. If set to a value" \
	" greater than comparison is aborted for the current source image if" \
	" the entered number of files differ. This option is ignored in quiet" \
	" mode." )

#:def_cmd_opt( "VERSION", "BRIEF", \
	"", \
	"Print only the version number, revision and system. If set twice," \
	" print only the version number." )

#:def_cmd_opt( "VERSION", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "VERSION", "LONG", \
	"", \
	"Print in long format. Ignored if option {--sections} is set." )

#:def_cmd_opt( "HELP", "WIDTH", \
	"", \
	"" )

#:def_cmd_opt( "INFO", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "INFO", "LONG", \
	"", \
	"Print additional infos, if available. For @IMAGE-FORMAT@: Print a" \
	" list, that explains the attributes." )

#:def_cmd_opt( "ERROR", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "ERROR", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "ERROR", "LONG", \
	"", \
	"Print a message text instead of a message name." )

#:def_cmd_opt( "COMPR", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "COMPR", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "COMPR", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "COMPR", "LONG", \
	"", \
	"Print a table with the normalized mode name, compression level, chunk" \
	" size factor and memory usage." )

#:def_cmd_opt( "COMPR", "VERBOSE", \
	"", \
	"Print always compression level and chunk size factor. Standard is to" \
	" suppress these values if not explicitly set." )

#:def_cmd_opt( "COMPR", "NUMERIC", \
	"", \
	"" )

#:def_cmd_opt( "FEATURES", "QUIET", \
	"", \
	"If set, suppress messages about the single features. If set twice," \
	" suppress also the summary message." )

#:def_cmd_opt( "FEATURES", "VERBOSE", \
	"", \
	"Normally, a status line for each supported feature is printed. If" \
	" set, print an info line for each requested feature." )

#:def_cmd_opt( "ANAID", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "EXCLUDE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXCLUDE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "CERT", "CERT", \
	"", \
	"" )

#:def_cmd_opt( "CERT", "FILES", \
	"", \
	"Filter the certificates by rules. Therefor the certificate name is" \
	" build in the form 'issuer.keyid'." )

#:def_cmd_opt( "CERT", "FAKE_SIGN", \
	"", \
	"" )

#:def_cmd_opt( "CERT", "DEST", \
	"", \
	"Define a destination file. All selected certificates are written to" \
	" this new created file." )

#:def_cmd_opt( "CERT", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "CERT", "VERBOSE", \
	"", \
	"Print the content of all certificates to standard output. This is the" \
	" default if neither --dest nor --DEST are set." )

#:def_cmd_opt( "CERT", "LONG", \
	"", \
	"If printing, print the complete key as hex dump, not only the first" \
	" bytes. If set twice, print BASE64 encoded." )

#:def_cmd_opt( "CREATE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "CREATE", "DEST", \
	"", \
	"Define a destination path (directory/file). This path is concatenated" \
	" with the @outfile@." )

#:def_cmd_opt( "CREATE", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "CREATE", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "CREATE", "ID", \
	"", \
	"Define an ID for the TICKET or TMD." )

#:def_cmd_opt( "CREATE", "IOS", \
	"", \
	"Define an IOS/SYS-VERSION for the TMD." )

#:def_cmd_opt( "DOLPATCH", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "DOLPATCH", "LONG", \
	"", \
	"If set, a address to file offset translation table is printed." )

#:def_cmd_opt( "DOLPATCH", "VERBOSE", \
	"", \
	"Normally, only applied patches and warnings are printed. If verbose" \
	" is set, also logs about already patched and ignored patches because" \
	" of a wrong condition are printed." )

#:def_cmd_opt( "DOLPATCH", "QUIET", \
	"", \
	"Suppress logging and print only warnings. If set twice, warnings are" \
	" also suppressed and only reported as status message." )

#:def_cmd_opt( "DOLPATCH", "SOURCE", \
	"", \
	"Define a search path for source files (e.g. 'valuefile=' attribute)." \
	" If the source is a directory, it is used for every searched file." \
	" Otherwise it is a file path and only used for files with the same" \
	" file name (case ignored)." )

#:def_cmd_opt( "DOLPATCH", "DEST", \
	"", \
	"Define a destination path (directory or file). If not set, the source" \
	" file is replaced by the patched version." )

#:def_cmd_opt( "DOLPATCH", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "DOLPATCH", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILELIST", "LONG", \
	"", \
	"Print the real path instead of given path." )

#:def_cmd_opt( "FILETYPE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "LONG", \
	"", \
	"If set at least once or twice additional columns with ID6 (1x) or the" \
	" region (2x) are enabled. If set three or more times the real path" \
	" instead of given path is printed." )

#:def_cmd_opt( "ISOSIZE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "ISOSIZE", "LONG", \
	"", \
	"If set the size is printed in MiB too. If set twice two columns with" \
	" WBFS calculations are added. If set three times the real path of the" \
	" source is printed." )

#:def_cmd_opt( "ISOSIZE", "UNIT", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LONG", \
	"", \
	"Images: If set at least once a memory map for each partition is" \
	" printed. If set twice or more a memory map for whole ISO image is" \
	" printed.\n" \
	" DOL files: If set, a third table with delta values between the" \
	" virtual address and the file offset is printed." )

#:def_cmd_opt( "DUMP", "SHOW", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "DISC_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "LONG", \
	"", \
	"If set, a table with 5 IDs (DISC, BOOT, TICKET, TMD and WBFS) is" \
	" printed. BOOT, TICKET and TMD IDs are taken from the main partition." \
	" If set twice, all IDs of all partitions are printed." )

#:def_cmd_opt( "ID6", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "LONG", \
	"", \
	"If set, a table with 5 IDs (DISC, BOOT, TICKET, TMD and WBFS) is" \
	" printed. BOOT, TICKET and TMD IDs are taken from the main partition." \
	" If set twice, all IDs of all partitions are printed." )

#:def_cmd_opt( "ID8", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ID8", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "FRAGMENTS", "VERBOSE", \
	"", \
	"Print up to 3 tables: @virtual->file@, @file->filesystem@ and" \
	" @virtual->filesystem@." )

#:def_cmd_opt( "FRAGMENTS", "LONG", \
	"", \
	"Print aligning infos too. If set twice and --brief is not set, print" \
	" them as hex values." )

#:def_cmd_opt( "FRAGMENTS", "BRIEF", \
	"", \
	"Ignore --verbose and print only a summary with the fragment counts." )

#:def_cmd_opt( "LIST", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date columns is added. If set three times, a second line with" \
	" number or partitions, file type and real path is added." )

#:def_cmd_opt( "LIST", "REALPATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "UNIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date columns is added. If set three times, a second line with" \
	" number or partitions, file type and real path is added." )

#:def_cmd_opt( "LIST_L", "REALPATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "UNIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date columns is added. If set three times, a second line with" \
	" number or partitions, file type and real path is added." )

#:def_cmd_opt( "LIST_LL", "REALPATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "UNIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date columns is added. If set three times, a second line with" \
	" number or partitions, file type and real path is added." )

#:def_cmd_opt( "LIST_LLL", "REALPATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "UNIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "LONG", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "SHOW", \
	"", \
	"" )

#:def_cmd_opt( "FILES", "SORT", \
	"", \
	"Define the sort mode for the file listing. The parameter is a comma" \
	" separated list of the following keywords: NONE, NAME, SIZE, OFFSET," \
	" ASCENDING, DESCENDING = REVERSE." )

#:def_cmd_opt( "FILES_L", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "LONG", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "SHOW", \
	"", \
	"" )

#:def_cmd_opt( "FILES_L", "SORT", \
	"", \
	"Define the sort mode for the file listing. The parameter is a comma" \
	" separated list of the following keywords: NONE, NAME, SIZE, OFFSET," \
	" ASCENDING, DESCENDING = REVERSE." )

#:def_cmd_opt( "FILES_LL", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "LONG", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "SHOW", \
	"", \
	"" )

#:def_cmd_opt( "FILES_LL", "SORT", \
	"", \
	"Define the sort mode for the file listing. The parameter is a comma" \
	" separated list of the following keywords: NONE, NAME, SIZE, OFFSET," \
	" ASCENDING, DESCENDING = REVERSE." )

#:def_cmd_opt( "DIFF", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "FILES", \
	"", \
	"Enter file mode (compare file by file) and append file select rules." \
	" This option can be used multiple times to extend the rule list." \
	" Rules beginning with a '+' or a '-' are allow or deny rules rules." \
	" Rules beginning with a ':' are macros for predefined rule sets." )

#:def_cmd_opt( "DIFF", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "QUIET", \
	"", \
	"Be quiet and print only error messages and failure messages on" \
	" mismatch. The comparison is aborted at the first mismatch for each" \
	" source image. If set twice print nothing and report the diff result" \
	" only as exit status and the complete comparison is aborted at the" \
	" first mismatch at all." )

#:def_cmd_opt( "DIFF", "VERBOSE", \
	"", \
	"The default is to print only differ messages. If set success messages" \
	" and summaries are printed too. If set at least twice, a progress" \
	" counter is printed too." )

#:def_cmd_opt( "DIFF", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "FILE_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "LIMIT", \
	"", \
	"If not set, the comparison of the current file is aborted if a" \
	" mismatch is found. If set, the comparison is aborted after @'limit'@" \
	" mismatches. To compare the whole file use the special value @0@." \
	" This option is ignored in quiet mode." )

#:def_cmd_opt( "DIFF", "LONG", \
	"", \
	"If set, a status line with the offset is printed for each found" \
	" mismatch. If set twice, an additional hex dump of the first bytes is" \
	" printed. If set 3 or 4 times, the limit is set to 10 or unlimited if" \
	" option {--limit} is not already set. This option is ignored in quiet" \
	" mode." )

#:def_cmd_opt( "DIFF", "BLOCK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "GCZ", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "GCZ_ZIP", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "GCZ_BLOCK", \
	"", \
	"" )

#:def_cmd_opt( "DIFF", "FST", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "FILES", \
	"", \
	"Enter file mode (compare file by file) and append file select rules." \
	" This option can be used multiple times to extend the rule list." \
	" Rules beginning with a '+' or a '-' are allow or deny rules rules." \
	" Rules beginning with a ':' are macros for predefined rule sets." )

#:def_cmd_opt( "FDIFF", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "QUIET", \
	"", \
	"Be quiet and print only error messages and failure messages on" \
	" mismatch. The comparison is aborted at the first mismatch for each" \
	" source image. If set twice print nothing and report the diff result" \
	" only as exit status and the complete comparison is aborted at the" \
	" first mismatch at all." )

#:def_cmd_opt( "FDIFF", "VERBOSE", \
	"", \
	"The default is to print only differ messages. If set success messages" \
	" and summaries are printed too. If set at least twice, a progress" \
	" counter is printed too." )

#:def_cmd_opt( "FDIFF", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "FILE_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "LIMIT", \
	"", \
	"If not set, the comparison of the current file is aborted if a" \
	" mismatch is found. If set, the comparison is aborted after @'limit'@" \
	" mismatches. To compare the whole file use the special value @0@." \
	" This option is ignored in quiet mode." )

#:def_cmd_opt( "FDIFF", "LONG", \
	"", \
	"If set, a status line with the offset is printed for each found" \
	" mismatch. If set twice, an additional hex dump of the first bytes is" \
	" printed. If set 3 or 4 times, the limit is set to 10 or unlimited if" \
	" option {--limit} is not already set. This option is ignored in quiet" \
	" mode." )

#:def_cmd_opt( "FDIFF", "BLOCK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "GCZ", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "GCZ_ZIP", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "GCZ_BLOCK", \
	"", \
	"" )

#:def_cmd_opt( "FDIFF", "FST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SORT", \
	"", \
	"Define the extracting order. The parameter is a comma separated list" \
	" of the following keywords: NONE, NAME, SIZE, OFFSET, ASCENDING," \
	" DESCENDING = REVERSE." )

#:def_cmd_opt( "EXTRACT", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LONG", \
	"", \
	"Print a summary line while extracting files. If set at least twice," \
	" print a status line for each extracted files." )

#:def_cmd_opt( "EXTRACT", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SORT", \
	"", \
	"Define the extracting order. The parameter is a comma separated list" \
	" of the following keywords: NONE, NAME, SIZE, OFFSET, ASCENDING," \
	" DESCENDING = REVERSE." )

#:def_cmd_opt( "COPY", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "LONG", \
	"", \
	"Print a summary line while extracting files. If set at least twice," \
	" print a status line for each extracted files." )

#:def_cmd_opt( "COPY", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "UPDATE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DIFF", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "DISC_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "TRUNC", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "COMPRESSION", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "GCZ", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "GCZ_ZIP", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "GCZ_BLOCK", \
	"", \
	"" )

#:def_cmd_opt( "COPY", "FST", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "DISC_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "TRUNC", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "COMPRESSION", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "GCZ", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "GCZ_ZIP", \
	"", \
	"" )

#:def_cmd_opt( "CONVERT", "GCZ_BLOCK", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "WDF1", \
	"", \
	"If the image format is WDF, then force WDF version 1. The optional" \
	" aligning factor is ignored." )

#:def_cmd_opt( "EDIT", "WDF2", \
	"", \
	"If the image format is WDF, then force WDF version 2. The optional" \
	" aligning factor is ignored." )

#:def_cmd_opt( "IMGFILES", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "IMGFILES", "NULL", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "MOVE", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "ISO", \
	"", \
	"Modify ID and title of the ISO image. If neither @--iso@ nor {--wbfs}" \
	" is set, then both are assumed as active." )

#:def_cmd_opt( "RENAME", "WBFS", \
	"", \
	"Modify ID and title of the inode in the WBFS management area. Option" \
	" --wbfs make only sense for images within WBFS. If neither {--iso}" \
	" nor @--wbfs@ is set, then both are assumed as active." )

#:def_cmd_opt( "SETTITLE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "ISO", \
	"", \
	"Modify ID and title of the ISO image. If neither @--iso@ nor {--wbfs}" \
	" is set, then both are assumed as active." )

#:def_cmd_opt( "SETTITLE", "WBFS", \
	"", \
	"Modify ID and title of the inode in the WBFS management area. Option" \
	" --wbfs make only sense for images within WBFS. If neither {--iso}" \
	" nor @--wbfs@ is set, then both are assumed as active." )

#:def_cmd_opt( "VERIFY", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "QUIET", \
	"", \
	"Be quiet and report only errors. If set twice then wit will print" \
	" nothing and only the exit status is set." )

#:def_cmd_opt( "VERIFY", "VERBOSE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LIMIT", \
	"", \
	"Maximal printed errors of each partition. A zero means unlimited. The" \
	" default is 10." )

#:def_cmd_opt( "VERIFY", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LONG", \
	"", \
	"On error print an additional line to localize the exact position" \
	" where the error is found. If set twice a hex dump of the hash values" \
	" is printed too." )

#:def_cmd_opt( "VERIFY", "TECHNICAL", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "DEST", \
	"", \
	"Define a destination directory for the skeleton files. The default is" \
	" {--DEST ./.skel/}." )

#:def_cmd_opt( "SKELETON", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "DISC_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "TRUNC", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "COMPRESSION", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "ALIGN_PART", \
	"", \
	"The beginning of each partition is set to an offset that is a" \
	" multiple of the align size. Size must be a power of 2 and at least" \
	" 32 KiB (=default). If option {--overlay} is set only the first" \
	" partition is aligned." )

#:def_cmd_opt( "MIX", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "ID", \
	"", \
	"Define an ID for the disc header. The default is 'WIT000'." )

#:def_cmd_opt( "MIX", "NAME", \
	"", \
	"Define a disc title for the disc header. The default is a generic" \
	" title based on all sources." )

#:def_cmd_opt( "MIX", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "MIX", "OVERLAY", \
	"", \
	"" )


##
###############################################################################
###############                   Tool 'wwt'                    ###############
###############################################################################

#:def_tool( "wwt", \
	"wwt [option]... command [option|parameter|@file]...", \
	"Wiimms WBFS Tool (WBFS manager) : It can create, check, repair," \
	" verify and clone WBFS files and partitions. It can list, add," \
	" extract, remove, rename and recover ISO images as part of a WBFS." )

#:def_cmd( "VERSION", "VERSION", \
	"wwt VERSION [ignored]...", \
	"Print program name and version and exit." )

#:def_cmd( "HELP", "HELP|H|?", \
	"wwt HELP [command] [ignored]...", \
	"Print help and exit. If the first non option is a valid command name," \
	" then a help for the given command is printed." )

#:def_cmd( "INFO", "INFO", \
	"wit INFO [keyword]...", \
	"Print some internal information about the keywords. If the keyword" \
	" @ALL@ is set or no keyword is entered, then all informations are" \
	" printed. Possible keywords are: @IMAGE-FORMAT@ and @ALL@." )

#:def_cmd( "TEST", "TEST", \
	"wwt TEST [ignored]...", \
	"Test options: All options are allowed, some are printed." )

#:def_cmd( "ERROR", "ERROR|ERR", \
	"wwt ERROR [error_code]", \
	"Translate an exit code to a message name. If no exit code is entered," \
	" print a table with all error messages." )

#:def_cmd( "COMPR", "COMPR", \
	"wwt COMPR [error_code]", \
	"Scan compression modes and print the normalized names. See option" \
	" {--compression} for syntax details. If no mode is given than print a" \
	" table with all available compression modes and alternative mode" \
	" names." )

#:def_cmd( "FEATURES", "FEATURES", \
	"wwt FEATURES [error_code]", \
	"Check, if the requested features are available. All keywords are" \
	" possible. If no keyword is used, all supported features are printed." \
	" The exit status is 0 for 'all features supported', 1 for 'some" \
	" features supported' and 2 for 'no feature supported'." )

#:def_cmd( "EXCLUDE", "EXCLUDE", \
	"wwt EXCLUDE [additional_excludes]...", \
	"Dump the internal exclude database to standard output (stdout)." )

#:def_cmd( "TITLES", "TITLES", \
	"wwt TITLES [additional_title_file]", \
	"Dump the internal title database to standard output (stdout)." )

#:def_cmd( "GETTITLES", "GETTITLES", \
	"wwt GETTITLES", \
	"Call the script 'load-titles.sh' in the share folder to update the" \
	" title database." )

#:def_cmd( "FIND", "FIND|F", \
	"wwt FIND [wbfs_partition]...", \
	"Find WBFS partitions and optionally print some geometric values." )

#:def_cmd( "SPACE", "SPACE|DF", \
	"wwt SPACE [wbfs_partition]...", \
	"Print disk space of WBFS partitions." )

#:def_cmd( "ANALYZE", "ANALYZE|ANA|ANALYSE", \
	"wwt ANALYZE [wbfs_partition]...", \
	"Analyze files and partitions for WBFS usage. Try to find old WBFS" \
	" structures and make calculations for new WBFS." )

#:def_cmd( "DUMP", "DUMP|D", \
	"wwt DUMP [wbfs_partition]...", \
	"Dump the data structure of WBFS partitions." )

#:def_cmd( "ID6", "ID6|ID", \
	"wwt ID6 [id]...", \
	"List all ID6 of all discs of WBFS partitions. If the ID list is set" \
	" use it as selector." )

#:def_cmd( "LIST", "LIST|LS", \
	"wwt LIST [wbfs_partition]...", \
	"List all discs of WBFS partitions." )

#:def_cmd( "LIST_L", "LIST-L|LL|LISTL", \
	"wwt LIST-L [wbfs_partition]...", \
	"List all discs of WBFS partitions with size and region. 'LIST-L' is a" \
	" shortcut for {LIST --long}." )

#:def_cmd( "LIST_LL", "LIST-LL|LLL|LISTLL", \
	"wwt LIST-LL [wbfs_partition]...", \
	"List all discs of WBFS partitions with date, size and region." \
	" 'LIST-LL' is a shortcut for {LIST --long --long}." )

#:def_cmd( "LIST_LLL", "LIST-LLL|LLLL|LISTLLL", \
	"wwt LIST-LLL [wbfs_partition]...", \
	"List all discs of WBFS partitions with date, time, size and region." \
	" 'LIST-LLL' is a shortcut for {LIST --long --long --long}." )

#:def_cmd( "LIST_A", "LIST-A|LA|LISTA", \
	"wwt LIST-A [wbfs_partition]...", \
	"List all discs of all WBFS partitions. 'LIST-A' is a shortcut for" \
	" {LIST --long --long --auto}." )

#:def_cmd( "LIST_M", "LIST-M|LM|LISTM", \
	"wwt LIST-M [wbfs_partition]...", \
	"List all discs of WBFS partitions in mixed view. 'LIST-M' is a" \
	" shortcut for {LIST --long --long --mixed}." )

#:def_cmd( "LIST_U", "LIST-U|LU|LISTU", \
	"wwt LIST-U [wbfs_partition]...", \
	"List all discs of WBFS partitions in mixed view. 'LIST-U' is a" \
	" shortcut for {LIST --long --long --unique}." )

#:def_cmd( "LIST_F", "LIST-F|LF|LISTF", \
	"wwt LIST-F [wbfs_partition]...", \
	"List all discs of WBFS partitions and include fragmentation info." \
	" 'LIST-F' is a shortcut for {LIST --fragments}." )

#:def_cmd( "FORMAT", "FORMAT|INIT", \
	"wwt FORMAT file|blockdev...", \
	"Initialize (=format) WBFS partitions and files. Combine with" \
	" {--recover} to recover discs." )

#:def_cmd( "RECOVER", "RECOVER", \
	"wwt RECOVER [wbfs_partition]..", \
	"Recover deleted discs of WBFS partitions." )

#:def_cmd( "CHECK", "CHECK|FSCK", \
	"wwt CHECK [wbfs_partition]..", \
	"Check WBFS partitions and print error listing. To repair WBFS" \
	" partitions use the option {--repair modelist}." )

#:def_cmd( "REPAIR", "REPAIR", \
	"wwt REPAIR [wbfs_partition]..", \
	"Check WBFS partitions and repair errors. 'REPAIR' is a shortcut for" \
	" {CHECK --repair standard}." )

#:def_cmd( "EDIT", "EDIT", \
	"wwt EDIT [JOB]...\n" \
	" \n" \
	"JOB      := REMOVE | ACTIVATE | INVALID | FREE | USE | ID6\n" \
	"REMOVE   := RM=a,b-c,...\n" \
	"ACTIVATE := ACT=a,b-c,...\n" \
	"INVALID  := INV=a,b-c,...\n" \
	"FREE     := FREE=a,b-c,...\n" \
	"USE      := USE=a,b-c,...\n" \
	"ID6      := ID6=a:b,c-d:e,...", \
	"Low level edit of slot and block assignments. Dangerous! Read the" \
	" documentation!" )

#:def_cmd( "PHANTOM", "PHANTOM", \
	"wwt PHANTOM [RULE]...\n" \
	" \n" \
	"RULE     := [ NUM 'x' ] SIZE ['m'|'g']\n" \
	"NUM,SIZE := UINT | UINT '-' UINT", \
	"Add @NUM@ phantom discs with entered @SIZE@ (default unit 'g') with a" \
	" generic ID6 ('PHT###' where '###' is the smallest not already used" \
	" integer). If @NUM@ and/or @SIZE@ are ranges use random values from" \
	" this range.\n" \
	"  Phantom discs have no content and only a header is written. This" \
	" makes adding discs very fast and this is good for testing. The" \
	" creation process stops if the WBFS becomes full. In this case, the" \
	" last added image may be shorter as planned." )

#:def_cmd( "TRUNCATE", "TRUNCATE|TR", \
	"wwt TRUNCATE [wbfs_partition]..", \
	"Truncate WBFS partitions to the really used size." )

#:def_cmd( "ADD", "ADD|A", \
	"wwt ADD [[--source|--recurse] source]...", \
	"Add Wii and GameCube ISO discs to WBFS partitions. Images, WBFS" \
	" partitions and directories are accepted as source." )

#:def_cmd( "UPDATE", "UPDATE|U", \
	"wwt UPDATE [[--source|--recurse] source]...", \
	"Add missing Wii and GameCube ISO discs to WBFS partitions. Images," \
	" WBFS partitions and directories are accepted as source. 'UPDATE' is" \
	" a shortcut for {ADD --update}." )

#:def_cmd( "NEW", "NEW|N", \
	"wwt NEW [[--source|--recurse] source]...", \
	"Add missing and newer Wii and GameCube ISO discs to WBFS partitions." \
	" Images, WBFS partitions and directories are accepted as source." \
	" 'NEW' is a shortcut for {ADD --update --newer}." )

#:def_cmd( "SYNC", "SYNC", \
	"wwt SYNC [[--source|--recurse] source]...", \
	"Modify primary WBFS (REMOVE and ADD) until it contains exactly the" \
	" same discs as all sources together. Images, WBFS partitions and" \
	" directories are accepted as source. 'SYNC' is a shortcut for {ADD" \
	" --sync}." )

#:def_cmd( "DUP", "DUP", \
	"wwt DUP [source_wbfs]... [-d|-D] dest_file", \
	"Duplicate source WBFS files or partitions and create new WBFS files." \
	" If multiple sources entered, the destination must be a directory." \
	" All used WBFS blocks are copied 1:1 to the destination file and" \
	" unused blocks are skipped and stored as sparse blocks." )

#:def_cmd( "EXTRACT", "EXTRACT|X", \
	"wwt EXTRACT id6[=dest]...", \
	"Extract discs from WBFS partitions and store them as Wii or GameCube" \
	" images." )

#:def_cmd( "SCRUB", "SCRUB", \
	"wwt SCRUB id6...", \
	"Scrub discs of WBFS partitions and rewrite (repair) the WBFS block" \
	" map. Use '+' as ID6 to scrub all images of the WBFS partitions. Use" \
	" option {--psel=list} to remove image partitions." )

#:def_cmd( "REMOVE", "REMOVE|RM", \
	"wwt REMOVE id6...", \
	"Remove discs from WBFS partitions." )

#:def_cmd( "RENAME", "RENAME|REN", \
	"wwt RENAME SELECTOR=[new_id6][,new_title]...\n" \
	"SELECTOR := ID6 | '#'SLOT | INDEX", \
	"Rename the ID6 and/or the disc title of WBFS discs." )

#:def_cmd( "SETTITLE", "SETTITLE|ST", \
	"wwt SETTITLE id6=title...", \
	"Set the disc title of WBFS discs." )

#:def_cmd( "TOUCH", "TOUCH", \
	"wwt TOUCH id6...", \
	"Set time stamps of WBFS discs." )

#:def_cmd( "VERIFY", "VERIFY|V", \
	"wwt VERIFY [id6]...", \
	"Verify all discs of WBFS (calculate and compare SHA1 checksums) to" \
	" find bad dumps." )

#:def_cmd( "SKELETON", "SKELETON|SKEL", \
	"wwt SKELETON [id6]...", \
	"Create very small skeletons of ISO images. A skeleton contains only" \
	" disc and partition headers for further analysis and is not playable" \
	" because all files are zeroed." )

#:def_cmd( "FILETYPE", "FILETYPE|FTYPE", \
	"wwt FILETYPE filename...", \
	"Print a status line for each source file." )

#:def_opt( "VERSION", "V|version", "G", \
	"", \
	"Stop parsing the command line, print a version info and exit." )

#:def_opt( "HELP", "h|help", "G", \
	"", \
	"Stop parsing the command line, print a help message and exit." )

#:def_opt( "XHELP", "xhelp", "G", \
	"", \
	"Stop parsing the command line and print a help message with all" \
	" commands included. Exit after printing." )

#:def_opt( "WIDTH", "width", "GP", \
	"width", \
	"Define the width (number of columns) for help and some other messages" \
	" and disable the automatic detection of the terminal width." )

#:def_opt( "QUIET", "q|quiet", "GM", \
	"", \
	"Be quiet and print only error messages." )

#:def_opt( "VERBOSE", "v|verbose", "GM", \
	"", \
	"Be verbose and print more progress information. Multiple usage is" \
	" possible: Progress counter is enabled if set at least two times." \
	" Extended logging is enabled if set at least four times. The impact" \
	" of the other verbose levels are command dependent." )

#:def_opt( "PROGRESS", "P|progress", "G", \
	"", \
	"Print progress counter. If --verbose is set at least twice, printing" \
	" is enabled too. If progress is enabled, the default of --dsync is" \
	" changed." )

#:def_opt( "SCAN_PROGRESS", "scan-progress|scanprogress", "G", \
	"", \
	"Print a message for each found image while scanning the file system." )

#:def_opt( "LOGGING", "L|logging", "G", \
	"", \
	"This debug option enables the logging of internal memory maps. If set" \
	" twice second level memory maps are printed too." )

#:def_opt( "ESC", "E|esc", "GP", \
	"char", \
	"Define an alternative escape character for destination files. The" \
	" default is '%'. For Windows (CYGWIN) it is a good choice to set" \
	" @'-E$$'@ to avoid conflicts with command shell variables." )

#:def_opt( "COLOR", "color", "GO", \
	"[=modus]", \
	"Define the modus for colored text output. Allowed keywords are: @OFF@" \
	" or @NO-COLORS@ to disable colors, @AUTO@ (default) for automatic" \
	" detection, @ON@ for automatic detection but never @OFF@, @8-COLORS@" \
	" and @256-COLORS@ for 8 and 256 color support. Without parameter," \
	" @ON@ is used.\n" \
	"  @AUTO@ will enable colorized output only for terminals. @AUTO@ and" \
	" @ON@ use environment variable @TERM@ to find the correct color" \
	" modus.\n" \
	"  If a command is prefixed by @'C-'@, then @--color=ON@ is used" \
	" implicitly as default." )

#:def_opt( "COLOR_256", "256-colors|256colors", "G", \
	"", \
	"Short cut for {--color=256-colors}: Force colorized text with 256" \
	" color support." )

#:def_opt( "NO_COLOR", "no-colors|nocolors", "G", \
	"", \
	"Short cut for {--color=off}: Deactivate colorized text. This is the" \
	" default, if an output file is not a terminal." )

#:def_opt( "IO", "io", "GP", \
	"flags", \
	"Setup the IO mode for experiments. The standard file IO is based on" \
	" open() function. The value '1' defines that WBFS IO is based on" \
	" fopen() function. The value '2' defines the same for ISO files and" \
	" value '4' for WIA files. You can combine the values by adding them." )

#:def_opt( "DSYNC", "dsync", "GO", \
	"[=mode]", \
	"This option enables the usage of flag O_DSYNC when opening a" \
	" partition at a hard drive for writing. With activated flag, writing" \
	" an image is some percent slower, but the progress counters are exact" \
	" again.\n" \
	"  Parameter MODE is optional. If set, it is one of OFF (disable), ON" \
	" (enable) or AUTO (default). With AUTO, DSYNC is enabled if the" \
	" progress counters are active.\n" \
	"  This option has only impact, if compiler and operation system" \
	" support the flag O_DSYNC. Linux does." )

#:def_opt( "TITLES", "T|titles", "GMP", \
	"file", \
	"Read file for disc titles. @-T/@ disables automatic search for title" \
	" files." )

#:def_opt( "UTF_8", "utf-8|utf8", "G", \
	"", \
	"Enables UTF-8 support for filenames (default)." )

#:def_opt( "NO_UTF_8", "no-utf-8|no-utf8|noutf8", "G", \
	"", \
	"Disables UTF-8 support for filenames." )

#:def_opt( "LANG", "lang", "GP", \
	"lang", \
	"Define the language for titles." )

#:def_opt( "TEST", "t|test", "GM", \
	"", \
	"Run in test mode, modify nothing.\n" \
	">>> USE THIS OPTION IF UNSURE! <<<" )

#:def_opt( "AUTO", "a|auto", "C", \
	"", \
	"Search for WBFS partitions using '/proc/partitions' or searching hard" \
	" disks in '/dev/'." )

#:def_opt( "ALL", "A|all", "C", \
	"", \
	"Use all WBFS partitions found." )

#:def_opt( "PART", "p|part", "CMP", \
	"part", \
	"Define a primary WBFS file or partition. Multiple usage possible." )

#:def_opt( "SOURCE", "source", "CMP", \
	"path", \
	"Use the entered file or directory as source.\n" \
	"  Directories are expanded to all containing files but hidden files" \
	" (file names begins with a point) are ignored. If a command needs" \
	" only images then non image files of the directory are ignored" \
	" without notification. The option {--no-expand} suppress the" \
	" directory expansion." )

#:def_opt( "NO_EXPAND", "no-expand|noexpand", "C", \
	"", \
	"Do not expand directories to the containing files or images. This" \
	" option does not change the behavior of {--recurse}." )

#:def_opt( "RECURSE", "r|recurse", "CMP", \
	"path", \
	" If @path@ is not a directory, then it is used as a simple source" \
	" file like {--source}.\n" \
	"  Directories are scanned for source files recursively. The option" \
	" {--rdepth} limits the search depth. Hidden files and hidden sub" \
	" directories (file names begins with a point) and files with non" \
	" supported file types (non ISO files for most commands) are ignored" \
	" without notification." )

#:def_opt( "RDEPTH", "rdepth", "CP", \
	"depth", \
	"Set the maximum recurse depth for option {--recurse}. The default" \
	" search depth is 10." )

#:def_opt( "PSEL", "psel", "CP", \
	"list", \
	"This option set the scrubbing mode and defines, which disc partitions" \
	" are handled. It expects a comma separated list of keywords, numbers" \
	" and names; all together called parameter. All parameters are case" \
	" insensitive and non ambiguous abbreviations of keywords are allowed.\n" \
	"  Each parameter becomes a rule and each rule is appended to a rule" \
	" list. Rules prefixed by a minus sign are DENY rules. Rules prefixed" \
	" by a plus sign or without a prefix are ALLOW rules. Each partition" \
	" is compared with each rule until a rule matches the partition. If a" \
	" match it found, the partition is enabled for a ALLOW rule or" \
	" disabled for a DENY rule.\n" \
	"  The allowed keywords are: @DATA@, @UPDATE@, @CHANNEL@, @PTAB0@ .." \
	" @PTAB3@, @ID@, @ALL@, @WHOLE@ and @RAW@. The following input formats" \
	" are accepted too: @ptype@, @#index@, @#<index@, @#<=index@," \
	" @#>index@, @#>=index@ and @#tab_index.part_index@." )

#:def_opt( "RAW", "raw", "C", \
	"", \
	"Abbreviation of {--psel RAW}." )

#:def_opt( "WBFS_ALLOC", "wbfs-alloc|wbfsalloc", "CP", \
	"mode", \
	"Select one WBFS block allocation modus:\n" \
	"  @FIRST@: Use always the first free WBFS block. @NO-FRAG@: Find" \
	" large blocks to minimize fragmentation. @AUTO@ (=default): Use modus" \
	" @NO-FRAG@ for partitions >=20GiB and modus @FIRST@ for partitions" \
	" <20GiB and for files." )

#:def_opt( "EXCLUDE", "x|exclude", "CMP", \
	"id", \
	"A comma separated list with ID4 and ID6 values is expected. @'.'@ is" \
	" a wildcard for exact 1 character and @'+'@ is a wildcard for any" \
	" number characters. If the parameter begins with a '@@' the given" \
	" file is read and each line is scanned for one ID. Images with the" \
	" given ID are excluded from operation. Each use of this option" \
	" expands the exclude list. See {--include-first} for precedence" \
	" issues." )

#:def_opt( "EXCLUDE_PATH", "X|exclude-path|excludepath", "CMP", \
	"file_or_dir", \
	"Scan the ID of the source and add it to the exclude list. If the" \
	" source is a directory then scan all images of the directory. Images" \
	" with the given ID are excluded from operation. Each use of this" \
	" option expands the exclude list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE", "n|include", "CMP", \
	"id", \
	"A comma separated list with ID values is expected. @'.'@ is a" \
	" wildcard for exact 1 character and @'+'@ is a wildcard for any" \
	" number characters. If the parameter begins with a '@@' the given" \
	" file is read and each line is scanned for one ID. Only images with" \
	" the given ID are included into the operation. Each use of this" \
	" option expands the include list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE_PATH", "N|include-path|includepath", "CMP", \
	"file_or_dir", \
	"Scan the ID of the source and add it to the include list. If the" \
	" source is a directory then scan all images of the directory. Only" \
	" images with the given ID are included into the operation. Each use" \
	" of this option expands the include list. See {--include-first} for" \
	" precedence issues." )

#:def_opt( "INCLUDE_FIRST", "include-first|includefirst", "C", \
	"", \
	"The options {--include}, {--include-path}, {--exclude} and" \
	" {--exclude-path} decide which discs are included into the operation." \
	" If neither include nor exclude options are used, than all disc are" \
	" included into the operation. If only include options are used, than" \
	" only the specified discs are operated. If only exclude options are" \
	" used, than all all discs but not the excluded are operated.\n" \
	"  If include and exclude options are used together and" \
	" @--include-first@ is not set, than all discs are operated that are" \
	" specified by any include option and not by any exclude option. If" \
	" @--include-first@ is set, than all discs are ignored that are" \
	" specified by any exclude option and not by any include option." )

#:def_opt( "ONE_JOB", "1|one-job|onejob", "C", \
	"", \
	"Execute only the first job and exit. This is a shortcut for" \
	" {--job-limit 1}." )

#:def_opt( "JOB_LIMIT", "job-limit|joblimit", "CP", \
	"num", \
	"Execute only the first @'num'@ jobs and exit. If done without errors" \
	" the exit status is OK (zero)." )

#:def_opt( "IGNORE", "i|ignore", "C", \
	"", \
	"Ignore non existing files/discs without warning. If set twice then" \
	" all non Wii and GameCube ISO images are ignored too." )

#:def_opt( "IGNORE_FST", "ignore-fst|ignorefst", "C", \
	"", \
	"Disable composing and ignore FST directories as input." )

#:def_opt( "IGNORE_SETUP", "ignore-setup|ignoresetup", "C", \
	"", \
	"While composing ignore the file @'setup.txt'@, which defines some" \
	" partition parameters." )

#:def_opt( "LINKS", "links", "C", \
	"", \
	"Detect soft and hard linked source files while composing or" \
	" extracting discs and try to create hard links instead of independent" \
	" copies on the destination file system." )

#:def_opt( "PMODE", "pmode", "CP", \
	"p-mode", \
	"This options set the prefix mode for listed or extracted files. One" \
	" of the following values is allowed: @AUTO, NONE, POINT, ID, NAME," \
	" INDEX, COMBI@. The default value is @'AUTO'@." )

#:def_opt( "FLAT", "flat", "C", \
	"", \
	"While extracting a disc image strip all path names of the source file" \
	" and store all files in the same directory. This option sets the" \
	" default for {--pmode} to @NONE@." )

#:def_opt( "COPY_GC", "copy-gc|copygc", "C", \
	"", \
	"If extracting a GameCube disc image, don't extract the real files to" \
	" @'/files/...'@. Instead create a copy of the source image and store" \
	" it as @'game.iso'@. If the source image is already in this format," \
	" try to create a hard link and copy only if it fails." )

#:def_opt( "NO_LINK", "no-link|nolink", "C", \
	"", \
	"Don't try to create a hard link if copying the image forced by the" \
	" option --copy-gc." )

#:def_opt( "NEEK", "neek|sneek", "C", \
	"", \
	"Abbreviation of {--psel data --pmode none --files :neek --copy-gc}." \
	" The old name --sneek is accepted too." )

#:def_opt( "ENC", "enc", "CP", \
	"encoding", \
	"Define the encoding mode. The mode is one of NONE, HASHONLY, DECRYPT," \
	" ENCRYPT, SIGN or AUTO. The case of the keywords is ignored. The" \
	" default mode is 'AUTO'." )

#:def_opt( "MODIFY", "modify", "CP", \
	"list", \
	" This $patching$ option defines the impact of the options {--name}" \
	" and {--id}. It expects a comma separated list of the following" \
	" keywords (case ignored) as parameter: @NONE, DISC, BOOT, TICKET," \
	" TMD, WBFS, TT, ALL@ and @AUTO@ (default).\n" \
	"  All keywords can be prefixed by @'+'@ to enable that option, by a" \
	" @'-'@ to disable it or by a @'='@ to enable that option and disable" \
	" all others." )

#:def_opt( "NAME", "name", "CP", \
	"name", \
	"This $patching$ option changes the name (disc title) of the disc to" \
	" the given parameter. Up to 63 characters are expected. The disc" \
	" header and boot.bin are objects to modify. The option {--modify}" \
	" selects the objects." )

#:def_opt( "ID", "id", "CP", \
	"id", \
	"This $patching$ option changes the ID of the disc to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. The" \
	" disc header, boot.bin, ticket.bin and tmd.bin are objects to modify." \
	" The option {--modify} selects the objects." )

#:def_opt( "DISC_ID", "disc-id|discid", "CP", \
	"id", \
	"This $patching$ option changes the ID of the disc header to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. Option" \
	" --disc-id overrides the definition of option {--id}." )

#:def_opt( "BOOT_ID", "boot-id|bootid", "CP", \
	"id", \
	"This $patching$ option changes the ID of boot.bin to the given" \
	" parameter. 1 to 6 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 6 characters. Option" \
	" --boot-id overrides the definition of option {--id}." )

#:def_opt( "TICKET_ID", "ticket-id|ticketid", "CP", \
	"id", \
	"This $patching$ option changes the ID of ticket.bin to the given" \
	" parameter. 1 to 4 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 4 characters. Option" \
	" --ticket-id overrides the definition of option {--id}." )

#:def_opt( "TMD_ID", "tmd-id|tmdid", "CP", \
	"id", \
	"This $patching$ option changes the ID of tmd.bin to the given" \
	" parameter. 1 to 4 characters are expected. Only defined characters" \
	" not equal '.' are modified. The plus sign '+' is a wildcard for" \
	" multiple '.' to fill the complete entered ID to 4 characters. Option" \
	" --tmd-id overrides the definition of option {--id}." )

#:def_opt( "TT_ID", "tt-id|ttid", "CP", \
	"id", \
	"This is a short cut for {--ticket id --tmd id}. If TICKET and TMD" \
	" differ, the game will freeze after loading. So it makes only sense" \
	" to change TICKET and TMD IDs together." )

#:def_opt( "WBFS_ID", "wbfs-id|wbfsid", "CP", \
	"id", \
	"This $patching$ option changes the ID of the WBFS header to the given" \
	" parameter if adding a file to a WBFS or if creating a WBFS file. 1" \
	" to 6 characters are expected. The already patched disc ID of the" \
	" source is used as base and only defined characters not equal '.' are" \
	" modified. The plus sign '+' is a wildcard for multiple '.' to fill" \
	" the complete entered ID to 6 characters. Option --wbfs-id overrides" \
	" the definition of option {--id}." )

#:def_opt( "REGION", "region", "CP", \
	"region", \
	"This $patching$ option defines the region of the disc. The region is" \
	" one of @JAPAN, USA, EUROPE, KOREA, FILE@ or @AUTO@ (default). The" \
	" case of the keywords is ignored. Unsigned numbers are also accepted." )

#:def_opt( "COMMON_KEY", "common-key", "CP", \
	"index", \
	"This $patching$ option defines the common key index as part of the" \
	" TICKET. Keywords @0@, @STANDARD@, @1@ and @KOREAN@ are accepted." )

#:def_opt( "IOS", "ios", "CP", \
	"ios", \
	"This $patching$ option defines the system version (IOS to load)" \
	" within TMD. The format is @'HIGH:LOW'@ or @'HIGH-LOW'@ or @'LOW'@." \
	" If only @LOW@ is set than @HIGH@ is assumed as 1 (standard IOS)." )

#:def_opt( "HTTP", "http", "C", \
	"", \
	"This $patching$ option replaces 'https' request to 'http' in the" \
	" files 'main.dol' and 'rel/StaticR.rel', if the files exist. It also" \
	" replaces the sub-domain 'naswii' to 'nas'." )

#:def_opt( "DOMAIN", "domain", "CP", \
	"domain", \
	"This $patching$ option replaces the domain 'nintendowifi.net' by the" \
	" new domain. The length of the new domain must not be larger than the" \
	" old length (16 characters).\n" \
	"  If the new domain length is not larger than 11, then 'gamespy.com'" \
	" of 'sake.gamespy.com' is replaced too.  This is a special support" \
	" for 'Super Smash Bros. Brawl'." )

#:def_opt( "WIIMMFI", "wiimmfi", "C", \
	"", \
	"Patch the images for $Wiimmfi$, the new custom server. It is a short" \
	" cut for {--http --domain wiimmfi.de}." )

#:def_opt( "RM_FILES", "rm-files|rm-file|rmfiles|rmfile", "CP", \
	"ruleset", \
	"This patching option defines filter rules to remove real files and" \
	" directories from the FST of the DATA partition. $Fake signing$ of" \
	" the TMD is necessary. The processing order of file options is:" \
	" {--rm-files --zero-files --ignore-files}." )

#:def_opt( "ZERO_FILES", "zero-files|zero-file|zerofiles|zerofile", "CP", \
	"ruleset", \
	"This patching option defines filter rules to zero (set size to zero)" \
	" real files of the FST of the DATA partition. $Fake signing$ of the" \
	" TMD is necessary. The processing order of file options is:" \
	" {--rm-files --zero-files --ignore-files}." )

#:def_opt( "IGNORE_FILES", "ignore-files|ignore-file|ignorefiles|ignorefile", "CP", \
	"ruleset", \
	"This option defines filter rules to ignore real files of the FST of" \
	" the DATA partition. $Fake signing$ is not necessary, but the" \
	" partition becomes invalid, because the content of some files is not" \
	" copied. If such file is accessed the Wii will halt immediately," \
	" because the verification of the checksum calculation fails. The" \
	" processing order of file options is: {--rm-files --zero-files" \
	" --ignore-files}." )

#:def_opt( "ALIGN_PART", "align-part|alignpart", "CP", \
	"size", \
	"If creating or moving partitions the beginning of each partition is" \
	" set to an offset that is a multiple of the align size. Size must be" \
	" a power of 2 and at least 32 KiB (=default)." )

#:def_opt( "ALIGN_FILES", "align-files|alignfiles", "C", \
	"", \
	"If creating a partition the file 'align-files.txt' is read. Files" \
	" listed with values >=0x8000 (Wii sector size) are automatically" \
	" aligned to 0x8000." )

#:def_opt( "DEST", "d|dest", "CP", \
	"path", \
	"Define a destination path (directory or file). The destination path" \
	" is scanned for escape sequences (see option {--esc}) to allow" \
	" generic paths." )

#:def_opt( "DEST2", "D|DEST", "CP", \
	"path", \
	"Like {--dest}, but create the directory path automatically." )

#:def_opt( "AUTO_SPLIT", "auto-split|autosplit", "C", \
	"", \
	"Enable auto split modus: Split only if necessary and determine the" \
	" split size automatically.\n" \
	"  THIS OPTION IS EXPERIMENTAL. In future versions it becomes the" \
	" default." )

#:def_opt( "NO_SPLIT", "no-split|nosplit", "C", \
	"", \
	"Disable output file splitting. This is the default, but in future" \
	" versions, the new option {--auto-split} becomes the default." )

#:def_opt( "SPLIT", "z|split", "C", \
	"", \
	"Enable output file splitting. The default split size is 4 GB." )

#:def_opt( "SPLIT_SIZE", "Z|split-size|splitsize", "CP", \
	"sz", \
	"Enable output file splitting and define a split size. The parameter" \
	" 'sz' is a floating point number followed by an optional unit factor" \
	" (one of 'cb' [=1] or 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024])." \
	" The default unit is 'G' (GiB)." )

#:def_opt( "DISC_SIZE", "disc-size|discsize", "CP", \
	"size", \
	"Define a minimal (virtual) ISO disc size." )

#:def_opt( "PREALLOC", "prealloc", "CO", \
	"[=mode]", \
	"This option enables or disables the disc space preallocation. If" \
	" enabled the tools try to allocate disc space for the new files" \
	" before writing the data. This reduces the fragmentation but also" \
	" disables the sparse effect for preallocated areas.\n" \
	"  The optional parameter decides the preallocation mode: @OFF@ (or" \
	" @0@), @SMART@ (or @1@), @ALL@ (or @2@). If no parameter is set," \
	" @ALL@ is used.\n" \
	"  Mode @'OFF'@ disables the preallocation. Mode @'SMART'@ looks into" \
	" the source disc to find out the writing areas. @SMART@ is only" \
	" available for $ISO$, $CISO$ and $WBFS$ file types. For other file" \
	" types @ALL@ is used instead. Mode @'ALL'@ (the default) preallocate" \
	" the whole destination file. Because of the large holes in plain ISO" \
	" images, the @SMART@ mode is used for ISOs instead." )

#:def_opt( "TRUNC", "trunc", "C", \
	"", \
	"Truncate $PLAIN ISO$ and $WBFS$ images after creating or copying to" \
	" the minimal needed size with respect to the block size." )

#:def_opt( "CHUNK_MODE", "chunk-mode|chunkmode|chm", "CP", \
	"mode", \
	"Defines an operation mode for {--chunk-size} and {--max-chunks}." \
	" Allowed keywords are @'ANY'@ to allow any values, @'32K'@ to force" \
	" chunk sizes with a multiple of 32 KiB, @'POW2'@ to force chunk sizes" \
	" >=32K and with a power of 2 or @'ISO'@ for ISO images (more" \
	" restrictive as @'POW2'@, best for USB loaders). The case of the" \
	" keyword is ignored. The default key is @'ISO'@.\n" \
	"  @--chm@ is a shortcut for @--chunk-mode@." )

#:def_opt( "CHUNK_SIZE", "chunk-size|chunksize|chs", "CP", \
	"sz", \
	"Define the minimal chunk size if creating a CISO or WIA file (for WIA" \
	" details see option --compression}). The default is to calculate the" \
	" chunk size from the input file size and find a good value by using a" \
	" minimal value of 1 MiB for {--chunk-mode ISO} and @32 KiB@ for modes" \
	" @32K@ and @POW2@. For the modes @ISO@ and @POW2@ the value is" \
	" rounded up to the next power of 2. This calculation also depends" \
	" from option {--max-chunks}.\n" \
	"  The parameter 'sz' is a floating point number followed by an" \
	" optional unit factor (one of 'cb' [=1] or 'kmgtpe' [base=1000] or" \
	" 'KMGTPE' [base=1024]). The default unit is 'M' (MiB). If the number" \
	" is prefixed with a @'='@ then options {--chunk-mode} and" \
	" {--max-chunks} are ignored and the given value is used without any" \
	" rounding or changing.\n" \
	"  If the input file size is not known (e.g. reading from pipe), its" \
	" size is assumed as @12 GiB@.\n" \
	"  @--chs@ is a shortcut for @--chunk-size@." )

#:def_opt( "MAX_CHUNKS", "max-chunks|maxchunks|mch", "CP", \
	"n", \
	"Define the maximal number of chunks if creating a CISO file. The" \
	" default value is 8192 for {--chunk-mode ISO} and 32760 (maximal" \
	" value) for all other modes. If this value is set than the automatic" \
	" calculation of {--chunk-size} will be modified too.\n" \
	"  @--mch@ is a shortcut for @--max-chunks@." )

#:def_opt( "COMPRESSION", "compression|compr", "CP", \
	"mode", \
	"Select one compression method, level and chunk size for new WIA" \
	" files. The syntax for mode is: @[method] [.level] [@@factor]@\n" \
	"  @'method'@ is the name of the method. Possible compressions method" \
	" are @NONE@, @PURGE@, @BZIP2@, @LZMA@ and @LZMA2@. There are" \
	" additional keywords: @DEFAULT@ (=@LZMA.5@@20@), @FAST@" \
	" (=@BZIP2.3@@10@), @GOOD@ (=@LZMA.5@@20@) @BEST@ (=@LZMA.7@@50@), and" \
	" @MEM@ (use best mode in respect to memory limit set by {--mem})." \
	" Additionally the single digit modes @0@ (=@NONE@), @1@ (=fast" \
	" @LZMA@) .. @9@ (=@BEST@)are defined. These additional keywords may" \
	" change their meanings if a new compression method is implemented.\n" \
	"  @'.level'@ is a point followed by one digit. It defines the" \
	" compression level. The special value @.0@ means: Use default" \
	" compression level (=@.5@).\n" \
	"  @'@@factor'@ is a factor for the chunk size. The base size is 2" \
	" MiB. The value@ @@0@ is replaced by the default factor@ @@20@ (40" \
	" MiB). If the factor is not set but option {--chunk-size} is set, the" \
	" factor will be calculated by using a rounded value of that option.\n" \
	"  All three parts are optional. All default values may be changed in" \
	" the future. @--compr@ is a shortcut for @--compression@ and" \
	" {--wia=mode} a shortcut for {--wia --compression mode}. The command" \
	" {wit COMPR} prints an overview about all compression modes." )

#:def_opt( "MEM", "mem", "CP", \
	"size", \
	"This option defines a memory usage limit for compressing files (in" \
	" MiB if no other unit is entered). When compressing a file with" \
	" method @MEM@ (see {--compression}) the the compression method, level" \
	" and chunk size are selected with respect to this limit.\n" \
	"  If this option is not set or the value is 0, then the environment" \
	" @$WIT_MEM$@ is tried to read instead. If this fails, the tool tries" \
	" to find out the total memory by reading @/proc/meminfo@. The limit" \
	" is set to 80% of the total memory minus 50 MiB." )

#:def_opt( "SIZE", "s|size", "CP", \
	"size", \
	"Define then total size of a WBFS file. @'size'@ is a floating number" \
	" optionally followed by one of the single letter factors 'kKmMgGtT'." \
	" This value is only used while creating a new WBFS file." )

#:def_opt( "HSS", "hss|sector-size|sectorsize", "CP", \
	"size", \
	"Define HD sector size. The parameter 'size' is a floating point" \
	" number followed by an optional unit factor (one of 'cb' [=1] or" \
	" 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024]). Only power of 2" \
	" values larger or equal 512 are accepted. The default value is 512." )

#:def_opt( "WSS", "wss", "CP", \
	"size", \
	"Define WBFS sector size. The parameter 'size' is a floating point" \
	" number followed by an optional unit factor (one of 'cb' [=1] or" \
	" 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024]). Only power of 2" \
	" values larger or equal 1024 are accepted. If not set the WBFS sector" \
	" size is calculated automatically." )

#:def_opt( "RECOVER", "recover", "C", \
	"", \
	"Format a WBFS in recover mode: Write the WBFS sector, but don't reset" \
	" the disc info area. Then look into each disc slot to find valid" \
	" discs and restore them." )

#:def_opt( "FORCE", "f|force", "G", \
	"", \
	"Force operation." )

#:def_opt( "NO_CHECK", "no-check|nocheck", "C", \
	"", \
	"Disable automatic check of WBFS before modificastions." )

#:def_opt( "REPAIR", "repair", "CP", \
	"mode", \
	"This option defines how to repair WBFS errors. The parameter is a" \
	" comma separated list of the following keywords, case is ignored:" \
	" @NONE, FBT, INODES, STANDARD, RM-INVALID, RM-OVERLAP, RM-FREE," \
	" RM-EMPTY, RM-ALL, ALL@.\n" \
	"  All keywords can be prefixed by '+' to enable that option, by a '-'" \
	" to disable it or by a '=' to enable that option and disable all" \
	" others." )

#:def_opt( "NO_FREE", "no-free|nofree", "C", \
	"", \
	"The discs are only dropped (slot is marked free), but the" \
	" correspondent blocks are not freed. You should run CHECK or REPAIR" \
	" to repair the WBFS after using this option." )

#:def_opt( "UPDATE", "u|update", "C", \
	"", \
	"Copy only non existing discs." )

#:def_opt( "SYNC", "y|sync", "C", \
	"", \
	"Synchronize the destination with all sources: Remove and copy discs" \
	" until the destination WBFS contains exactly the same discs as all" \
	" sources together. Remove and add only discs in respect to the" \
	" include and exclude lists." )

#:def_opt( "SYNC_ALL", "sync-all|syncall", "C", \
	"", \
	"Synchronize the destination with all sources like {--sync}. But use" \
	" the include and exclude lists only to create the sync list and" \
	" remove all disc on the destination WBFS that are not part of the" \
	" sync list." )

#:def_opt( "NEWER", "e|newer|new", "C", \
	"", \
	"If source and destination have valid mtimes: Copy only if source is" \
	" newer." )

#:def_opt( "OVERWRITE", "o|overwrite", "C", \
	"", \
	"Overwrite already existing files without warning." )

#:def_opt( "REMOVE", "R|remove", "C", \
	"", \
	"Remove source files/discs if operation is successful. If the source" \
	" is an extracted file systems (FST) it isn't removed." )

#:def_opt( "WDF", "W|wdf", "CO", \
	"[=param]", \
	"Set the image output file type to WDF (Wii Disc Format). The output" \
	" format is either WDFv1 or WDFv2. It depends of the input file format" \
	" and of the aligning. {--wdf=param} is a short cut for {--wdf" \
	" --align-wdf=param}." )

#:def_opt( "WDF1", "wdf1", "CO", \
	"[=param]", \
	"Set image output file type to WDF and force version 1. {--wdf1=param}" \
	" is a short cut for {--wdf1 --align-wdf=param}." )

#:def_opt( "WDF2", "wdf2", "CO", \
	"[=param]", \
	"Set image output file type to WDF and force version 2. {--wdf2=param}" \
	" is a short cut for {--wdf2 --align-wdf=param}." )

#:def_opt( "ALIGN_WDF", "align-wdf|alignwdf|wdf-align|wdfalign", "GP", \
	"[align][,minhole]", \
	"Parameter @align@ defines the aligning factor for new WDF images. It" \
	" must be a power of 2 and smaller or equal than 1 GiB. The default" \
	" WDF alignment is 1 for WDF v1 and 4 for WDF v2. Usual values are 1," \
	" 512, 4K and 32K.\n" \
	"  The optional parameter @minhole@ defines the minimal hole size," \
	" before a new chunk is created. If NULL, an internal value is used to" \
	" minimize the total file size. @minhole@ can't be smaller than" \
	" @align@." )

#:def_opt( "WIA", "wia", "CO", \
	"[=compr]", \
	"Set image output file type to WIA (Wii ISO Archive). The optional" \
	" parameter is a compression mode and {--wia=mode} is a shortcut for" \
	" {--wia --compression mode}." )

#:def_opt( "GCZ", "gcz", "C", \
	"", \
	"Set image output file type to GCZ (Dolphins GameCube Zip)." )

#:def_opt( "GCZ_ZIP", "gcz-zip|gczzip|gczip", "C", \
	"", \
	"If creating a GCZ image, a blockwise z-compression is tried. If the" \
	" compressed data is larger than 98.5%, the uncompressed data is" \
	" stored. Encrypted blocks are stored directly as uncompressed data," \
	" because the 98.5% test fails all the time.\n" \
	"  Option --gcz-zip disables this optimization for encrypted data and" \
	" makes the creation process slower." )

#:def_opt( "GCZ_BLOCK", "gcz-block|gczblock", "GP", \
	"size", \
	"The value defines the block size, if creating a GCZ image. The" \
	" default is 16K (also Dolphins default). Smaller values enlarge the" \
	" managment data and reduce the compression ratio. Use the option with" \
	" caution!" )

#:def_opt( "ISO", "I|iso", "C", \
	"", \
	"Set image output file type to PLAIN ISO." )

#:def_opt( "CISO", "C|ciso", "C", \
	"", \
	"Set image output file type to CISO (Compact ISO, same as WBI)." )

#:def_opt( "WBFS", "B|wbfs", "C", \
	"", \
	"Set image output file type to WBFS (Wii Backup File System, default)." )

#:def_opt( "FST", "fst", "CO", \
	"", \
	"Set image output mode to 'file system' (extracted ISO)." )

#:def_opt( "FILES", "files", "CO", \
	"ruleset", \
	"Append file select rules. This option can be used multiple times to" \
	" extend the rule list. Rules beginning with a '+' or a '-' are allow" \
	" or deny rules rules. Rules beginning with a ':' are macros for" \
	" predefined rule sets." )

#:def_opt( "ITIME", "itime", "C", \
	"", \
	"Select 'itime' (insertion time) for printing. @--itime@ is an" \
	" abbreviation of {--time i}." )

#:def_opt( "MTIME", "mtime", "C", \
	"", \
	"Select 'mtime' (last modification time) for printing. @--mtime@ is an" \
	" abbreviation of {--time m}." )

#:def_opt( "CTIME", "ctime", "C", \
	"", \
	"Select 'ctime' (last status change time) for printing. @--ctime@ is" \
	" an abbreviation of {--time c}." )

#:def_opt( "ATIME", "atime", "C", \
	"", \
	"Select 'atime' (last access time) for printing. @--atime@ is an" \
	" abbreviation of {--time a}." )

#:def_opt( "TIME", "time", "CMP", \
	"list", \
	"Set time printing and sorting mode. The parameter is a comma" \
	" separated list of the following keywords, case is ignored: RESET," \
	" OFF, ON, SINGLE, MULTI, NONE, ALL, I, M, C, A, DATE, TIME, SEC," \
	" IDATE, MDATE, CDATE, ADATE, ITIME, MTIME, CTIME, ATIME, ISEC, MSEC," \
	" CSEC, ASEC." )

#:def_opt( "SET_TIME", "set-time|settime", "CP", \
	"time", \
	"Use given time instead of current time." )

#:def_opt( "LONG", "l|long", "CM", \
	"", \
	"Print in long format. Multiple usage possible." )

#:def_opt( "SHOW", "+|show", "CP", \
	"list", \
	"This option allows fine control over the things that are to be" \
	" printed. The parameter is a comma separated list of the following" \
	" keywords, case is ignored: @NONE, INTRO, HEADER, SLOTS, GEOMETRY," \
	" D-ID, P-ID, P-TAB, P-INFO, P-MAP, D-MAP, W-MAP, TICKET, TMD, USAGE," \
	" PATCH, RELOCATE, FILES, UNUSED, OFFSET, SIZE, PATH@ and @ALL@. There" \
	" are some combined keys: @ID := D-ID,P-ID@, @PART :=" \
	" P-INFO,P-ID,P-MAP,TICKET,TMD@, @DISC := FILES,D-ID,D-MAP@, @MAP :=" \
	" P-MAP,D-MAP,W-MAP@.\n" \
	"  All keywords can be prefixed by '+' to enable that option, by a '-'" \
	" to disable it or by a '=' to enable that option and disable all" \
	" others.\n" \
	"  The additional keywords @DEC@ and @HEX@ can be used to set a" \
	" prefered number format. @-HEADER@ suppresses the output of header" \
	" lines.\n" \
	"  The commands recognize only some of these keywords and ignore the" \
	" others. If @--show@ is set, option {--long} is ignored for selecting" \
	" output elements." )

#:def_opt( "FRAGMENTS", "fragments|frag", "C", \
	"", \
	"Print fragmentation info instead of region info. --frag is a short" \
	" cut." )

#:def_opt( "NUMERIC", "numeric", "C", \
	"", \
	"Force numeric output instead of printing names." )

#:def_opt( "TECHNICAL", "technical|tech", "C", \
	"", \
	"Force a technical output instead of user friendly text. --tech is a" \
	" short cut for --technical." )

#:def_opt( "INODE", "inode", "C", \
	"", \
	"Print information for all inodes (invalid discs too)." )

#:def_opt( "MIXED", "M|mixed", "C", \
	"", \
	"Print disc infos of all WBFS in one combined table." )

#:def_opt( "UNIQUE", "U|unique", "C", \
	"", \
	"Eliminate multiple entries with same values." )

#:def_opt( "NO_HEADER", "H|no-header|noheader", "C", \
	"", \
	"Suppress printing of header and footer." )

#:def_opt( "OLD_STYLE", "old-style|oldstyle", "C", \
	"", \
	"Print in old style. This is important for tools and GUIs that are" \
	" scanning the output." )

#:def_opt( "SECTIONS", "sections", "C", \
	"", \
	"Print in machine readable sections and parameter lines." )

#:def_opt( "SORT", "S|sort", "CP", \
	"list", \
	"Define the sort mode for listings. The parameter is a comma separated" \
	" list of the following keywords: @NONE, NAME, TITLE, PATH, NINTENDO," \
	" FILE, SIZE, OFFSET, REGION, WBFS, NPART, FRAGMENTS, ITIME, MTIME," \
	" CTIME, ATIME, TIME = DATE, DEFAULT, ASCENDING, DESCENDING =" \
	" REVERSE@." )

#:def_opt( "LIMIT", "limit", "CP", \
	"num", \
	"Limit the output to NUM messages." )

#:def_cmd_opt( "VERSION", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "VERSION", "LONG", \
	"", \
	"" )

#:def_cmd_opt( "HELP", "WIDTH", \
	"", \
	"" )

#:def_cmd_opt( "INFO", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "INFO", "LONG", \
	"", \
	"Print additional infos, if available. For @IMAGE-FORMAT@: Print a" \
	" list, that explains the attributes." )

#:def_cmd_opt( "ERROR", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "ERROR", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "ERROR", "LONG", \
	"", \
	"Print a message text instead of a message name." )

#:def_cmd_opt( "COMPR", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "COMPR", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "COMPR", "LONG", \
	"", \
	"Print a table with the normalized mode name, compression level, chunk" \
	" size factor and memory usage." )

#:def_cmd_opt( "COMPR", "VERBOSE", \
	"", \
	"Print always compression level and chunk size factor. Standard is to" \
	" suppress these values if not explicitly set." )

#:def_cmd_opt( "COMPR", "NUMERIC", \
	"", \
	"" )

#:def_cmd_opt( "FEATURES", "QUIET", \
	"", \
	"If set, suppress messages about the single features. If set twice," \
	" suppress also the summary message." )

#:def_cmd_opt( "FEATURES", "VERBOSE", \
	"", \
	"Normally, a status line for each supported feature is printed. If" \
	" set, print an info line for each requested feature." )

#:def_cmd_opt( "EXCLUDE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXCLUDE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TITLES", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "PART", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "QUIET", \
	"", \
	"Be absolute quiet and report the find status as exit code only." )

#:def_cmd_opt( "FIND", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "LONG", \
	"", \
	"Without @--long@ only partition names of WBFS partitions are printed." \
	" If option @--long@ is set then additional infos are printed for each" \
	" partition, WBFS or not (this includes output via --sections). If" \
	" option @--long@ is set at least twice the real path and the size in" \
	" bytes are printed." )

#:def_cmd_opt( "FIND", "OLD_STYLE", \
	"", \
	"" )

#:def_cmd_opt( "FIND", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "SPACE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SPACE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "SPACE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "SPACE", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "SPACE", "LONG", \
	"", \
	" If option @--long@ is set the real path is printed." )

#:def_cmd_opt( "ANALYZE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ANALYZE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "ANALYZE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "ANALYZE", "LONG", \
	"", \
	"If option @--long@ is set then calculated values are printed too if" \
	" other values are available. If option @--long@ is set twice" \
	" calculated values are always printed." )

#:def_cmd_opt( "DUMP", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "PART", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "INODE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LONG", \
	"", \
	"If set then print a status for each valid disc within WBFS" \
	" ({--show=FILES}). If set twice print a memory map for each disc is" \
	" printed too ({--show=D-MAP}). If set three times print an additional" \
	" memory map for the whole WBFS ({--show=W-MAP}). If set four times" \
	" print an usage table ({--show=USAGE})." )

#:def_cmd_opt( "DUMP", "SHOW", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "PART", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "ID6", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_L", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_L", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_LL", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LL", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_LLL", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_LLL", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_A", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_A", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_M", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_M", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_U", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_U", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "PART", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "MIXED", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "UNIQUE", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "SORT", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "ITIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "MTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "CTIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "ATIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "TIME", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "LONG", \
	"", \
	"If set, the size in MiB and the region is printed too. If set twice," \
	" a date column is added. If set three times, a date and a time column" \
	" is added." )

#:def_cmd_opt( "LIST_F", "FRAGMENTS", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "LIST_F", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "VERBOSE", \
	"", \
	"Be verbose and explain the actions." )

#:def_cmd_opt( "FORMAT", "SIZE", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "HSS", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "WSS", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "RECOVER", \
	"", \
	"" )

#:def_cmd_opt( "FORMAT", "INODE", \
	"", \
	"Force creating inode infos with predefined timestamps. The timestamps" \
	" reduce effect of sparse files. This option is set for devices" \
	" automatically." )

#:def_cmd_opt( "FORMAT", "TEST", \
	"", \
	"Force test mode and ignore {--force}." )

#:def_cmd_opt( "FORMAT", "FORCE", \
	"", \
	"This option is needed for leaving test mode and for real formatting!" )

#:def_cmd_opt( "RECOVER", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "PART", \
	"", \
	"" )

#:def_cmd_opt( "RECOVER", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "PART", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "CHECK", "VERBOSE", \
	"", \
	"Be verbose. If set once then more details are printed. If set twice a" \
	" info dump of all corrupted discs is included. If set three times a" \
	" info dump of all discs is included if a error is found. If set four" \
	" times a full memory map is included." )

#:def_cmd_opt( "CHECK", "LONG", \
	"", \
	"Option @--long@ does the same as option {--verbose}. If set at least" \
	" once it overwrites the {--verbose} level." )

#:def_cmd_opt( "CHECK", "REPAIR", \
	"", \
	"This option defines how to repair WBFS errors. The parameter is a" \
	" comma separated list of the following keywords, case is ignored:" \
	" @NONE, FBT, INODES, STANDARD, RM-INVALID, RM-OVERLAP, RM-FREE," \
	" RM-EMPTY, RM-ALL, ALL@.\n" \
	"  All keywords can be prefixed by '+' to enable that option, by a '-'" \
	" to disable it or by a '=' to enable that option and disable all" \
	" others. The default is 'NONE'." )

#:def_cmd_opt( "CHECK", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "PART", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "REPAIR", "VERBOSE", \
	"", \
	"Be verbose. If set once then more details are printed. If set twice a" \
	" info dump of all corrupted discs is included. If set three times a" \
	" info dump of all discs is included if a error is found. If set four" \
	" times a full memory map is included." )

#:def_cmd_opt( "REPAIR", "LONG", \
	"", \
	"Option @--long@ does the same as option {--verbose}. If set at least" \
	" once it overwrites the {--verbose} level." )

#:def_cmd_opt( "REPAIR", "REPAIR", \
	"", \
	"This option defines how to repair WBFS errors. The parameter is a" \
	" comma separated list of the following keywords, case is ignored:" \
	" @NONE, FBT, INODES, STANDARD, RM-INVALID, RM-OVERLAP, RM-FREE," \
	" RM-EMPTY, RM-ALL, ALL@.\n" \
	"  All keywords can be prefixed by '+' to enable that option, by a '-'" \
	" to disable it or by a '=' to enable that option and disable all" \
	" others. The default is 'STANDARD' (FBT,INODES)." )

#:def_cmd_opt( "REPAIR", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "PART", \
	"", \
	"" )

#:def_cmd_opt( "EDIT", "TEST", \
	"", \
	"Force test mode and ignore {--force}." )

#:def_cmd_opt( "EDIT", "FORCE", \
	"", \
	"This option is needed for leaving test mode and for formatting!" )

#:def_cmd_opt( "PHANTOM", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "PHANTOM", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "PHANTOM", "PART", \
	"", \
	"" )

#:def_cmd_opt( "PHANTOM", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "PHANTOM", "WBFS_ALLOC", \
	"", \
	"" )

#:def_cmd_opt( "PHANTOM", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "PHANTOM", "VERBOSE", \
	"", \
	"Print a status line for each added disc." )

#:def_cmd_opt( "PHANTOM", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "TRUNCATE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "TRUNCATE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "TRUNCATE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "TRUNCATE", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "TRUNCATE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "TRUNCATE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "PART", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "ADD", "WBFS_ALLOC", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "ADD", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "TRUNC", \
	"", \
	"Truncate WBFS until operation finished." )

#:def_cmd_opt( "ADD", "NEWER", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "SYNC_ALL", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "SYNC", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "UPDATE", \
	"", \
	"" )

#:def_cmd_opt( "ADD", "OVERWRITE", \
	"", \
	"Overwrite already existing discs." )

#:def_cmd_opt( "UPDATE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "UPDATE", "WBFS_ALLOC", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "UPDATE", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "TRUNC", \
	"", \
	"Truncate WBFS until operation finished." )

#:def_cmd_opt( "UPDATE", "NEWER", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "SYNC_ALL", \
	"", \
	"" )

#:def_cmd_opt( "UPDATE", "SYNC", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "PART", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "NEW", "WBFS_ALLOC", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "NEW", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "TRUNC", \
	"", \
	"Truncate WBFS until operation finished." )

#:def_cmd_opt( "NEW", "NEWER", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "SYNC_ALL", \
	"", \
	"" )

#:def_cmd_opt( "NEW", "SYNC", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "PART", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "SYNC", "WBFS_ALLOC", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "SOURCE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "NO_EXPAND", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "RECURSE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "RDEPTH", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "SYNC", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ALIGN_PART", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "ALIGN_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "TRUNC", \
	"", \
	"Truncate WBFS until operation finished." )

#:def_cmd_opt( "SYNC", "NEWER", \
	"", \
	"" )

#:def_cmd_opt( "SYNC", "SYNC_ALL", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "PART", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before reading." )

#:def_cmd_opt( "DUP", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "DEST", \
	"", \
	"Define the path to the destination file. If not set, the last" \
	" parameter is used as destination." )

#:def_cmd_opt( "DUP", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "DUP", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PART", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "EXTRACT", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "EXTRACT", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LONG", \
	"", \
	"Print a summary line while extracting files. If set at least twice," \
	" print a status line for each extracted files." )

#:def_cmd_opt( "EXTRACT", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ESC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DISC_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TRUNC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "GCZ", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "GCZ_ZIP", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "GCZ_BLOCK", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "FST", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "PMODE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "FLAT", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "FILES", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "COPY_GC", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NO_LINK", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "NEEK", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "UNIQUE", \
	"", \
	"Eliminate multiple ID6 from the source list." )

#:def_cmd_opt( "EXTRACT", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "EXTRACT", "REMOVE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "UPDATE", \
	"", \
	"" )

#:def_cmd_opt( "EXTRACT", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "PART", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "SCRUB", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "SCRUB", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "LONG", \
	"", \
	"Print a summary line while extracting files. If set at least twice," \
	" print a status line for each extracted files." )

#:def_cmd_opt( "SCRUB", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "ENC", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "MODIFY", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "NAME", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "DISC_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "BOOT_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "TICKET_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "TMD_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "TT_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "WBFS_ID", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "REGION", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "COMMON_KEY", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "IOS", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "HTTP", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "DOMAIN", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "WIIMMFI", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "RM_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "ZERO_FILES", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "SCRUB", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "REMOVE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "REMOVE", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "SECTIONS", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "REMOVE", "UNIQUE", \
	"", \
	"Eliminate multiple ID6 from the source list." )

#:def_cmd_opt( "REMOVE", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "REMOVE", "NO_FREE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "PART", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "RENAME", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "RENAME", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "RENAME", "ISO", \
	"", \
	"Modify ID and title of the ISO image. If neither @--iso@ nor {--wbfs}" \
	" is set, then both are assumed as active." )

#:def_cmd_opt( "RENAME", "WBFS", \
	"", \
	"Modify ID and title of the inode in the WBFS management area. If" \
	" neither {--iso} nor @--wbfs@ is set, then both are assumed as" \
	" active." )

#:def_cmd_opt( "SETTITLE", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "PART", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "SETTITLE", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SETTITLE", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "SETTITLE", "ISO", \
	"", \
	"Modify ID and title of the ISO image. If neither @--iso@ nor {--wbfs}" \
	" is set, then both are assumed as active." )

#:def_cmd_opt( "SETTITLE", "WBFS", \
	"", \
	"Modify ID and title of the inode in the WBFS management area. If" \
	" neither {--iso} nor @--wbfs@ is set, then both are assumed as" \
	" active." )

#:def_cmd_opt( "TOUCH", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "PART", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "TOUCH", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "TOUCH", "UNIQUE", \
	"", \
	"Eliminate multiple ID6 from the source list." )

#:def_cmd_opt( "TOUCH", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "TOUCH", "ITIME", \
	"", \
	"Touch the 'itime' (insertion time)." )

#:def_cmd_opt( "TOUCH", "MTIME", \
	"", \
	"Touch the 'mtime' (last modification time)." )

#:def_cmd_opt( "TOUCH", "CTIME", \
	"", \
	"Touch the 'ctime' (last status change time)." )

#:def_cmd_opt( "TOUCH", "ATIME", \
	"", \
	"Touch the 'atime' (last access time)." )

#:def_cmd_opt( "TOUCH", "SET_TIME", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "PART", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "VERIFY", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "VERBOSE", \
	"", \
	"Show a runtime summary for each job. If set twice enable progress" \
	" information. If set three times the progress information is more" \
	" detailed." )

#:def_cmd_opt( "VERIFY", "PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "SCAN_PROGRESS", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LIMIT", \
	"", \
	"Maximal printed errors of each partition. A zero means unlimited. The" \
	" default is 10." )

#:def_cmd_opt( "VERIFY", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "IGNORE_FILES", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "UNIQUE", \
	"", \
	"Eliminate multiple ID6 from the source list." )

#:def_cmd_opt( "VERIFY", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "VERIFY", "REMOVE", \
	"", \
	"Remove bad discs from WBFS." )

#:def_cmd_opt( "VERIFY", "NO_FREE", \
	"", \
	"" )

#:def_cmd_opt( "VERIFY", "LONG", \
	"", \
	"On error print an additional line to localize the exact position" \
	" where the error is found. If set twice a hex dump of the hash values" \
	" is printed too." )

#:def_cmd_opt( "VERIFY", "TECHNICAL", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "TITLES", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "NO_UTF_8", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "LANG", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "AUTO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ALL", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "PART", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "NO_CHECK", \
	"", \
	"Disable automatic check of WBFS before modifications." )

#:def_cmd_opt( "SKELETON", "EXCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "EXCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE_PATH", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "INCLUDE_FIRST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ONE_JOB", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "JOB_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "QUIET", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "LOGGING", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "TEST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "PSEL", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "RAW", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "IGNORE", \
	"", \
	"Ignore non existing discs without any warning." )

#:def_cmd_opt( "SKELETON", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "ISO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "WBFS", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "SKELETON", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE_FST", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "IGNORE_SETUP", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "LINKS", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "NO_HEADER", \
	"", \
	"" )

#:def_cmd_opt( "FILETYPE", "LONG", \
	"", \
	"If set then ID6 and split file count are printed too. If set twice" \
	" the region is printed too." )


##
###############################################################################
###############                   Tool 'wdf'                    ###############
###############################################################################

#:def_tool( "wdf", \
	"wdf [options]... [+command] [options]... files...", \
	"wdf is a support tool for WDF, WIA, CISO and GCZ images. It converts" \
	" (packs and unpacks), compares and dumps WDF and CISO images." \
	" Additionally it dumps WIA and GCT image and unpacks WIA images. The" \
	" default command depends on the program file name (see command" \
	" descriptions). Usual names are @wdf@, @unwdf@, @wdf-cat@, @wdf-cmp@" \
	" and @wdf-dump@ (with or without minus signs).\n" \
	"  {wdf +CAT} replaces the old tool @wdf-cat@ and {wdf +DUMP} the old" \
	" tool @wdf-dump@." )

#:def_cmd( "VERSION", "+VERSION|+V", \
	"wdf +VERSION [ignored]...", \
	"Print program name, version and the defaults and exit." )

#:def_cmd( "HELP", "+HELP|+H", \
	"wdf +HELP [+command] [ignored]...", \
	"Print help and exit. If the first non option is a valid command name," \
	" then a help for the given command is printed." )

#:def_cmd( "PACK", "+PACK|+P", \
	"wdf +PACK [option]... files...", \
	"Pack sources into WDF or CISO images. This is the general default." )

#:def_cmd( "UNPACK", "+UNPACK|+U", \
	"wdf +UNPACK [option]... files...", \
	"Unpack WDF, WIA and CISO images.\n" \
	"  This is the default command, when the program name starts with the" \
	" two letters @'un'@ in any case." )

#:def_cmd( "CAT", "+CAT|+C", \
	"wdf +CAT [option]... files...", \
	"Concatenate files and print on the standard output. WDF, WIA and CISO" \
	" files are extracted before printing, all other files are copied byte" \
	" by byte.\n" \
	"  This is the default command, when the program name contains the sub" \
	" string @'cat'@ in any case. {wdf +CAT} replaces the old tool" \
	" @wdf-cat@." )

#:def_cmd( "CMP", "+DIFF|+CMP", \
	"wdf +DIFF [option]... files...", \
	"Compare files and unpack WDF, WIA and CISO while comparing.\n" \
	"  The standard is to compare two source files. If {--dest} or" \
	" {--DEST} is set, than all source files are compared against files in" \
	" the destination path with equal names. If the second source file is" \
	" missed, then standard input (stdin) is used instead.\n" \
	"  This is the default command, when the program name contains the sub" \
	" string @'diff'@ or @'cmp'@ in any case." )

#:def_cmd( "DUMP", "+DUMP|+D", \
	"wdf +DUMP [option]... files...", \
	"Dump the data structure of WDF, WIA, CISO and GCZ images and ignore" \
	" other files.\n" \
	"  This is the default command, when the program contains the sub" \
	" string @'dump'@ in any case. {wdf +DUMP} replaces the old tool" \
	" @wdf-dump@." )

#:def_opt( "VERSION", "V|version", "G", \
	"", \
	"Stop parsing the command line, print a version info and exit." )

#:def_opt( "HELP", "h|help", "G", \
	"", \
	"Stop parsing the command line, print a help message and exit." )

#:def_opt( "XHELP", "xhelp", "G", \
	"", \
	"Stop parsing the command line and print a help message with all" \
	" commands included. Exit after printing." )

#:def_opt( "WIDTH", "width", "GP", \
	"width", \
	"Define the width (number of columns) for help and some other messages" \
	" and disable the automatic detection of the terminal width." )

#:def_opt( "QUIET", "q|quiet", "G", \
	"", \
	"Be quiet and print only error messages." )

#:def_opt( "VERBOSE", "v|verbose", "G", \
	"", \
	"Be verbose -> print program name." )

#:def_opt( "LOGGING", "L|logging", "GM", \
	"", \
	"This debug option enables the logging of internal memory maps. If set" \
	" twice second level memory maps are printed too." )

#:def_opt( "COLOR", "color", "GO", \
	"[=modus]", \
	"Define the modus for colored text output. Allowed keywords are: @OFF@" \
	" or @NO-COLORS@ to disable colors, @AUTO@ (default) for automatic" \
	" detection, @ON@ for automatic detection but never @OFF@, @8-COLORS@" \
	" and @256-COLORS@ for 8 and 256 color support. Without parameter," \
	" @ON@ is used.\n" \
	"  @AUTO@ will enable colorized output only for terminals. @AUTO@ and" \
	" @ON@ use environment variable @TERM@ to find the correct color" \
	" modus.\n" \
	"  If a command is prefixed by @'C-'@, then @--color=ON@ is used" \
	" implicitly as default." )

#:def_opt( "COLOR_256", "256-colors|256colors", "G", \
	"", \
	"Short cut for {--color=256-colors}: Force colorized text with 256" \
	" color support." )

#:def_opt( "NO_COLOR", "no-colors|nocolors", "G", \
	"", \
	"Short cut for {--color=off}: Deactivate colorized text. This is the" \
	" default, if an output file is not a terminal." )

#:def_opt( "IO", "io", "GP", \
	"flags", \
	"Setup the IO mode for experiments. The standard file IO is based on" \
	" open() function. The value '1' defines that WBFS IO is based on" \
	" fopen() function. The value '2' defines the same for ISO files and" \
	" value '4' for WIA files. You can combine the values by adding them." )

#:def_opt( "DSYNC", "dsync", "GO", \
	"[=mode]", \
	"This option enables the usage of flag O_DSYNC when opening a" \
	" partition at a hard drive for writing. With activated flag, writing" \
	" an image is some percent slower, but the progress counters are exact" \
	" again.\n" \
	"  Parameter MODE is optional. If set, it is one of OFF (disable), ON" \
	" (enable) or AUTO (default). With AUTO, DSYNC is enabled if the" \
	" progress counters are active.\n" \
	"  This option has only impact, if compiler and operation system" \
	" support the flag O_DSYNC. Linux does." )

#:def_opt( "CHUNK", "chunk", "C", \
	"", \
	"Print table with chunk header too." )

#:def_opt( "LONG", "l|long", "C", \
	"", \
	"Print (un)pack statistics, 1 line for each source. In dump mode:" \
	" Print table with chunk header too (same as {--chunk})." )

#:def_opt( "MINUS1", "1|minus-1|minus1", "C", \
	"", \
	"If set the end address is the last address of a range. The standard" \
	" is to print the first address that is not part of the address of a" \
	" range." )

#:def_opt( "LIMIT", "limit", "CP", \
	"num", \
	"Limit the output to NUM messages." )

#:def_opt( "FILE_LIMIT", "file-limit|filelimit", "CP", \
	"size", \
	"This option is only used if comparing discs on file level. If not set" \
	" or set to null, then all files will be compared. If set to a value" \
	" greater than comparison is aborted for the current source image if" \
	" the entered number of files differ. This option is ignored in quiet" \
	" mode." )

#:def_opt( "BLOCK_SIZE", "block-size|blocksize", "CP", \
	"size", \
	"If a mismatch is found in raw or disc mode then the comparison is" \
	" continued with the next block. This option sets the block size. The" \
	" default value is @32K@ (Wii sector size). This option is ignored in" \
	" quiet mode." )

#:def_opt( "WDF", "W|wdf", "CO", \
	"[=param]", \
	"Force WDF output mode if packing and set the default suffix to" \
	" @'.wdf'@. This is the general default. {--wdf=param} is a short cut" \
	" for {--wdf --align-wdf=param}." )

#:def_opt( "WDF1", "wdf1", "CO", \
	"[=param]", \
	"Force WDF v1 output mode, if packing. Set the default suffix to" \
	" @'.wdf'@. {--wdf1=param} is a short cut for {--wdf1" \
	" --align-wdf=param}." )

#:def_opt( "WDF2", "wdf2", "CO", \
	"[=param]", \
	"Force WDF v2 output mode, if packing. Set the default suffix to" \
	" @'.wdf'@. {--wdf2=param} is a short cut for {--wdf2" \
	" --align-wdf=param}." )

#:def_opt( "ALIGN_WDF", "align-wdf|alignwdf|wdf-align|wdfalign", "GP", \
	"[align][,minhole]", \
	"Parameter @align@ defines the aligning factor for new WDF images. It" \
	" must be a power of 2 and smaller or equal than 1 GiB. The default" \
	" WDF alignment is 1 for WDF v1 and 4 for WDF v2. Usual values are 1," \
	" 512, 4K and 32K.\n" \
	"  The optional parameter @minhole@ defines the minimal hole size," \
	" before a new chunk is created. If NULL, an internal value is used to" \
	" minimize the total file size. @minhole@ can't be smaller than" \
	" @align@." )

#:def_opt( "WIA", "wia", "CO", \
	"[=compr]", \
	"Force WIA output mode if packing and set the default suffix to" \
	" @'.wia'@. The optional parameter is a compression mode and" \
	" {--wia=mode} is a shortcut for {--wia --compression mode}.\n" \
	"  WIA output is the default, when the program name contains the sub" \
	" string @'wia'@ in any case." )

#:def_opt( "CISO", "C|ciso", "C", \
	"", \
	"Force CISO output mode if packing and set the default suffix to" \
	" @'.ciso'@.\n" \
	"   This is the default, when the program name contains the sub string" \
	" @'ciso'@ in any case." )

#:def_opt( "WBI", "wbi", "C", \
	"", \
	"Force CISO output mode if packing and set the default suffix to" \
	" @'.wbi'@.\n" \
	"   This is the default, when the program name contains the sub string" \
	" @'wbi'@ but not @'ciso'@ in any case." )

#:def_opt( "SUFFIX", "s|suffix", "CP", \
	".suf", \
	"Use suffix @'.suf'@ instead of @'.wdf'@, @'.wia'@, or @'.ciso'@ for" \
	" packed files." )

#:def_opt( "DEST", "d|dest", "CP", \
	"path", \
	"Define a destination path (directory/file)." )

#:def_opt( "DEST2", "D|DEST", "CP", \
	"path", \
	"Like {--dest}, but create the directory path automatically." )

#:def_opt( "STDOUT", "c|stdout", "C", \
	"", \
	"Write to standard output (stdout) and keep (don't delete) input" \
	" files.\n" \
	"  This is the default, when the program is reading from standard" \
	" input (stdin)." )

#:def_opt( "KEEP", "k|keep", "C", \
	"", \
	"Keep (don't delete) input files during (un-)packing." )

#:def_opt( "OVERWRITE", "o|overwrite", "C", \
	"", \
	"Overwrite already existing files without warning." )

#:def_opt( "PRESERVE", "p|preserve", "C", \
	"", \
	"Preserve file times (atime+mtime) while copying an image. This option" \
	" is enabled by default if an unmodified disc image is copied." )

#:def_opt( "AUTO_SPLIT", "auto-split|autosplit", "C", \
	"", \
	"Enable auto split modus: Split only if necessary and determine the" \
	" split size automatically.\n" \
	"  THIS OPTION IS EXPERIMENTAL. In future versions it becomes the" \
	" default." )

#:def_opt( "NO_SPLIT", "no-split|nosplit", "C", \
	"", \
	"Disable output file splitting. This is the default, but in future" \
	" versions, the new option {--auto-split} becomes the default." )

#:def_opt( "SPLIT", "z|split", "C", \
	"", \
	"Enable output file splitting. The default split size is 4 GB." )

#:def_opt( "SPLIT_SIZE", "Z|split-size|splitsize", "CP", \
	"sz", \
	"Enable output file splitting and define a split size. The parameter" \
	" 'sz' is a floating point number followed by an optional unit factor" \
	" (one of 'cb' [=1] or 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024])." \
	" The default unit is 'G' (GiB)." )

#:def_opt( "PREALLOC", "prealloc", "CO", \
	"[=mode]", \
	"This option enables or disables the disc space preallocation. If" \
	" enabled the tools try to allocate disc space for the new files" \
	" before writing the data. This reduces the fragmentation but also" \
	" disables the sparse effect for preallocated areas.\n" \
	"  The optional parameter decides the preallocation mode: @OFF@ (or" \
	" @0@), @SMART@ (or @1@), @ALL@ (or @2@). If no parameter is set," \
	" @ALL@ is used.\n" \
	"  Mode @'OFF'@ disables the preallocation. Mode @'SMART'@ looks into" \
	" the source disc to find out the writing areas. @SMART@ is only" \
	" available for $ISO$, $CISO$ and $WBFS$ file types. For other file" \
	" types @ALL@ is used instead. Mode @'ALL'@ (the default) preallocate" \
	" the whole destination file. Because of the large holes in plain ISO" \
	" images, the @SMART@ mode is used for ISOs instead." )

#:def_opt( "CHUNK_MODE", "chunk-mode|chunkmode|chm", "CP", \
	"mode", \
	"Defines an operation mode for {--chunk-size} and {--max-chunks}." \
	" Allowed keywords are @'ANY'@ to allow any values, @'32K'@ to force" \
	" chunk sizes with a multiple of 32 KiB, @'POW2'@ to force chunk sizes" \
	" >=32K and with a power of 2 or @'ISO'@ for ISO images (more" \
	" restrictive as @'POW2'@, best for USB loaders). The case of the" \
	" keyword is ignored. The default key is @'32K'@.\n" \
	"  @--chm@ is a shortcut for @--chunk-mode@." )

#:def_opt( "CHUNK_SIZE", "chunk-size|chunksize|chs", "CP", \
	"sz", \
	"Define the minimal chunk size if creating a CISO or WIA file (for WIA" \
	" details see option --compression}). The default is to calculate the" \
	" chunk size from the input file size and find a good value by using a" \
	" minimal value of 1 MiB for {--chunk-mode ISO} and @32 KiB@ for modes" \
	" @32K@ and @POW2@. For the modes @ISO@ and @POW2@ the value is" \
	" rounded up to the next power of 2. This calculation also depends" \
	" from option {--max-chunks}.\n" \
	"  The parameter 'sz' is a floating point number followed by an" \
	" optional unit factor (one of 'cb' [=1] or 'kmgtpe' [base=1000] or" \
	" 'KMGTPE' [base=1024]). The default unit is 'M' (MiB). If the number" \
	" is prefixed with a @'='@ then options {--chunk-mode} and" \
	" {--max-chunks} are ignored and the given value is used without any" \
	" rounding or changing.\n" \
	"  If the input file size is not known (e.g. reading from pipe), its" \
	" size is assumed as @12 GiB@.\n" \
	"  @--chs@ is a shortcut for @--chunk-size@." )

#:def_opt( "MAX_CHUNKS", "max-chunks|maxchunks|mch", "CP", \
	"n", \
	"Define the maximal number of chunks if creating a CISO file. The" \
	" default value is 8192 for {--chunk-mode ISO} and 32760 (maximal" \
	" value) for all other modes. If this value is set than the automatic" \
	" calculation of {--chunk-size} will be modified too.\n" \
	"  @--mch@ is a shortcut for @--max-chunks@." )

#:def_opt( "COMPRESSION", "compression|compr", "CP", \
	"mode", \
	"Select one compression method, level and chunk size for new WIA" \
	" files. The syntax for mode is: @[method] [.level] [@@factor]@\n" \
	"  @'method'@ is the name of the method. Possible compressions method" \
	" are @NONE@, @PURGE@, @BZIP2@, @LZMA@ and @LZMA2@. There are" \
	" additional keywords: @DEFAULT@ (=@LZMA.5@@20@), @FAST@" \
	" (=@BZIP2.3@@10@), @GOOD@ (=@LZMA.5@@20@) @BEST@ (=@LZMA.7@@50@), and" \
	" @MEM@ (use best mode in respect to memory limit set by {--mem})." \
	" Additionally the single digit modes @0@ (=@NONE@), @1@ (=fast" \
	" @LZMA@) .. @9@ (=@BEST@)are defined. These additional keywords may" \
	" change their meanings if a new compression method is implemented.\n" \
	"  @'.level'@ is a point followed by one digit. It defines the" \
	" compression level. The special value @.0@ means: Use default" \
	" compression level (=@.5@).\n" \
	"  @'@@factor'@ is a factor for the chunk size. The base size is 2" \
	" MiB. The value@ @@0@ is replaced by the default factor@ @@20@ (40" \
	" MiB). If the factor is not set but option {--chunk-size} is set, the" \
	" factor will be calculated by using a rounded value of that option.\n" \
	"  All three parts are optional. All default values may be changed in" \
	" the future. @--compr@ is a shortcut for @--compression@ and" \
	" {--wia=mode} a shortcut for {--wia --compression mode}. The command" \
	" {wit COMPR} prints an overview about all compression modes." )

#:def_opt( "MEM", "mem", "CP", \
	"size", \
	"This option defines a memory usage limit for compressing files (in" \
	" MiB if no other unit is entered). When compressing a file with" \
	" method @MEM@ (see {--compression}) the the compression method, level" \
	" and chunk size are selected with respect to this limit.\n" \
	"  If this option is not set or the value is 0, then the environment" \
	" @$WIT_MEM$@ is tried to read instead. If this fails, the tool tries" \
	" to find out the total memory by reading @/proc/meminfo@. The limit" \
	" is set to 80% of the total memory minus 50 MiB." )

#:def_opt( "TEST", "t|test", "G", \
	"", \
	"Run in test mode, modify nothing.\n" \
	">>> USE THIS OPTION IF UNSURE! <<<" )

#:def_cmd_opt( "VERSION", "LONG", \
	"", \
	"Print in long format." )

#:def_cmd_opt( "HELP", "WIDTH", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "COMPRESSION", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "STDOUT", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "KEEP", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "WDF", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "WDF1", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "WDF2", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "ALIGN_WDF", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "WIA", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "CISO", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "WBI", \
	"", \
	"" )

#:def_cmd_opt( "PACK", "SUFFIX", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "AUTO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "NO_SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "SPLIT", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "SPLIT_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "PREALLOC", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "CHUNK_MODE", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "CHUNK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "MAX_CHUNKS", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "COMPRESSION", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "MEM", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "STDOUT", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "KEEP", \
	"", \
	"" )

#:def_cmd_opt( "UNPACK", "PRESERVE", \
	"", \
	"" )

#:def_cmd_opt( "CAT", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "CAT", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "CAT", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "CMP", "QUIET", \
	"", \
	"Be quiet and print only error messages and failure messages on" \
	" mismatch. The comparison is aborted at the first mismatch for each" \
	" source image. If set twice print nothing and report the diff result" \
	" only as exit status and the complete comparison is aborted at the" \
	" first mismatch at all." )

#:def_cmd_opt( "CMP", "VERBOSE", \
	"", \
	"The default is to print only differ messages. If set success messages" \
	" and summaries are printed too. If set at least twice, a progress" \
	" counter is printed too." )

#:def_cmd_opt( "CMP", "FILE_LIMIT", \
	"", \
	"" )

#:def_cmd_opt( "CMP", "LIMIT", \
	"", \
	"If not set, the comparison of the current file is aborted if a" \
	" mismatch is found. If set, the comparison is aborted after @'limit'@" \
	" mismatches. To compare the whole file use the special value @0@." \
	" This option is ignored in quiet mode." )

#:def_cmd_opt( "CMP", "LONG", \
	"", \
	"If set, a status line with the offset is printed for each found" \
	" mismatch. If set twice, an additional hex dump of the first bytes is" \
	" printed. If set 3 or 4 times, the limit is set to 10 or unlimited if" \
	" option {--limit} is not already set. This option is ignored in quiet" \
	" mode." )

#:def_cmd_opt( "CMP", "BLOCK_SIZE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "DEST", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "DEST2", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "OVERWRITE", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "CHUNK", \
	"", \
	"" )

#:def_cmd_opt( "DUMP", "LONG", \
	"", \
	"Same as {--chunk}" )

#:def_cmd_opt( "DUMP", "MINUS1", \
	"", \
	"" )


##
###############################################################################
###############                  Tool 'wfuse'                   ###############
###############################################################################

#:def_tool( "wfuse", \
	"wfuse [option]... source mountdir\n" \
	"wfuse --umount mountdir...", \
	"Mount a Wii or GameCube image or a WBFS file or partition to a mount" \
	" point using FUSE (Filesystem in USErspace). Use @'wfuse --umount" \
	" mountdir'@ for unmounting." )

#:def_opt( "VERSION", "V|version", "G", \
	"", \
	"Stop parsing the command line, print a version info and exit." )

#:def_opt( "HELP", "h|help", "G", \
	"", \
	"Stop parsing the command line, print a help message and exit." )

#:def_opt( "XHELP", "xhelp", "G", \
	"", \
	"Same as {--help}." )

#:def_opt( "HELP_FUSE", "H|help-fuse|helpfuse", "G", \
	"", \
	"Stop parsing the command line and print a FUSE help message." )

#:def_opt( "WIDTH", "width", "GP", \
	"width", \
	"Define the width (number of columns) for help and some other messages" \
	" and disable the automatic detection of the terminal width." )

#:def_opt( "QUIET", "q|quiet", "GM", \
	"", \
	"Be quiet and print only error messages." )

#:def_opt( "PARAM", "p|param", "GP", \
	"param", \
	"The parameter is forwarded to the FUSE command line scanner." )

#:def_opt( "OPTION", "o|option", "GP", \
	"param", \
	"This option is forwarded to FUSE command line scanner as @'-o" \
	" param'@." )

#:def_opt( "ALLOW_OTHER", "O|allow-other|allowother", "G", \
	"", \
	"This option is a short cut for @'-o allow_other'@. It enables" \
	" re-exporting of the mounted file system for example by a samba" \
	" server." )

#:def_opt( "CREATE", "c|create", "G", \
	"", \
	"If the mount point does not exist, create it and remove it on" \
	" unmount." )

#:def_opt( "REMOUNT", "r|remount", "G", \
	"", \
	"If the mount point is already mounted, try silently to unmount it" \
	" first." )

#:def_opt( "UMOUNT", "u|umount|unmount", "G", \
	"", \
	"Enter 'unmount mode' and unmount each entered directory by calling" \
	" @'fusermount -u mountdir'@ or alternatively @'umount mountdir'@." )

#:def_opt( "LAZY", "l|lazy", "G", \
	"", \
	"Lazy unmount: Detach the mounted file system from the file system" \
	" hierarchy now, and cleanup all references to the file system as soon" \
	" as it is not busy anymore." )


##
###############################################################################
###############                       END                       ###############
###############################################################################

