diff options
Diffstat (limited to 'src/skin/tpax_skin_default.c')
-rw-r--r-- | src/skin/tpax_skin_default.c | 91 |
1 files changed, 75 insertions, 16 deletions
diff --git a/src/skin/tpax_skin_default.c b/src/skin/tpax_skin_default.c index 4de94b4..a618645 100644 --- a/src/skin/tpax_skin_default.c +++ b/src/skin/tpax_skin_default.c @@ -1,32 +1,52 @@ #include "tpax_driver_impl.h" +#include "tpax_visibility_impl.h" #include "argv/argv.h" -const struct argv_option tpax_default_options[] = { - {"version", 0,TAG_VERSION,ARGV_OPTARG_NONE,0,0,0, +const tpax_hidden struct argv_option tpax_default_options[] = { + {"Wversion", 0,TAG_VERSION,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "show version information"}, - {"help", 0,TAG_HELP,ARGV_OPTARG_OPTIONAL,0,"short|long",0, - "show usage information [listing %s options only]"}, + {"Whelp", 0,TAG_HELP,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "show usage information"}, - {"list", 0,TAG_LIST,ARGV_OPTARG_NONE,0,0,0, + {"Wlist", 0,TAG_LIST,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "list mode (output names of archive members)"}, - {"read", 'r',TAG_READ,ARGV_OPTARG_NONE,0,0,0, + {"Wread", 'r',TAG_READ,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "read mode (extract matching archive members)"}, - {"write", 'w',TAG_WRITE,ARGV_OPTARG_NONE,0,0,0, + {"Write", 'w',TAG_WRITE,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "write mode (add specified files to archive)"}, - {"copy", 0,TAG_COPY,ARGV_OPTARG_NONE,0,0,0, + {"Wcopy", 0,TAG_COPY,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "copy mode (copy specified files " "to a specified destination directory)"}, + {"Wfile", 'f',TAG_FILE,ARGV_OPTARG_REQUIRED, + ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_EQUAL, + 0,"<ARCHIVE>", + "read from (in read or list modes), " + "or write to (in write mode) the specified %s " + "after (in write mode) creating it as necessary"}, - {"format", 'x',TAG_FORMAT,ARGV_OPTARG_REQUIRED,0, + {"Wformat", 'x',TAG_FORMAT,ARGV_OPTARG_REQUIRED, + ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_EQUAL, "pax|cpio|ustar|rustar",0, "archive format [%s]"}, - {"blksize", 'b',TAG_BLKSIZE,ARGV_OPTARG_REQUIRED,0,0,0, + {"Wverbose", 'v',TAG_VERBOSE,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "write pathnames to stderr in read, write, and copy modes; " + "produce verbose output in list mode."}, + + {"Wblksize", 'b',TAG_BLKSIZE,ARGV_OPTARG_REQUIRED, + ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_EQUAL,0,0, "(non-default) block-size; valid values are " "in the range of 512 to 32256; keeping " "the default format-specific block size " @@ -34,20 +54,59 @@ const struct argv_option tpax_default_options[] = { " 10240 for the ustar format) " "is strongly recommended."}, - {"recurse", 0,TAG_RECURSE,ARGV_OPTARG_NONE,0,0,0, + {"Wrecurse", 0,TAG_RECURSE,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "recurse into directory archive members " "(this is the tpax_main() default)"}, - {"no-recurse", 'd',TAG_NORECURSE,ARGV_OPTARG_NONE,0,0,0, + {"Wno-recurse",'d',TAG_NORECURSE,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "do not recurse into directory archive members"}, - {"strict-path-input", - 0,TAG_STRICT_PATH,ARGV_OPTARG_NONE,0,0,0, + {"Wpreserve-atime", + 't',TAG_PRESERVE_ATIME,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "when user has the necessary permissions, " + "set the access time of each file to the access " + "time that was reported by fstatat(3) prior to the " + "first read operation performed by pax"}, + + {"Wpax-symlink-args", + 'H',TAG_PAX_SYMLINK_ARGS,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "when a command-line argument is a symbolic link, " + "add the underlying (referenced) file-system object " + "or directory to the archive using the name of the " + "symbolic link."}, + + {"Wpax-symlink-items", + 'L',TAG_PAX_SYMLINK_ITEMS,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "when a command-line argument is a symbolic link, or when " + "an item added by way of recursion is a symbolic link, " + "add the underlying (referenced) file-system object " + "or directory to the archive using the name of the " + "symbolic link."}, + + {"Woptions", 'o',TAG_OPTIONS,ARGV_OPTARG_REQUIRED, + ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE|ARGV_OPTION_KEYVAL_ARRAY,0,0, + "a user-provided, format-specific keyval array of the form " + "keyword[[:]=value][,keyword[[:]=value], ...]"}, + + {"Wstrict-device-id", + 'X',TAG_STRICT_DEVICE_ID,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, + "do not recurse into directories across device boundaries"}, + + {"Wstrict-path-input", + 0,TAG_STRICT_PATH,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "do not allow file arguments (in write and copy modes) " "to contain parent-directoy (dot dot) references"}, - {"pure-path-output", - 0,TAG_PURE_PATH,ARGV_OPTARG_NONE,0,0,0, + {"Wpure-path-output", + 0,TAG_PURE_PATH,ARGV_OPTARG_NONE, + ARGV_OPTION_HYBRID_ONLY,0,0, "output (in list mode) or store (in write mode) path " "names in pure form, specifically by liminating all " "this-dir (dot) elements from the listed/stored path " |