|
|
88751e |
#include "tpax_driver_impl.h"
|
|
|
88751e |
#include "argv/argv.h"
|
|
|
88751e |
|
|
|
88751e |
const struct argv_option tpax_default_options[] = {
|
|
|
88751e |
{"version", 0,TAG_VERSION,ARGV_OPTARG_NONE,0,0,0,
|
|
|
88751e |
"show version information"},
|
|
|
88751e |
|
|
|
88751e |
{"help", 0,TAG_HELP,ARGV_OPTARG_OPTIONAL,0,"short|long",0,
|
|
|
88751e |
"show usage information [listing %s options only]"},
|
|
|
88751e |
|
|
|
893ea2 |
{"list", 0,TAG_LIST,ARGV_OPTARG_NONE,0,0,0,
|
|
|
fb301b |
"list mode (output names of archive members)"},
|
|
|
893ea2 |
|
|
|
893ea2 |
{"read", 'r',TAG_READ,ARGV_OPTARG_NONE,0,0,0,
|
|
|
fb301b |
"read mode (extract matching archive members)"},
|
|
|
893ea2 |
|
|
|
893ea2 |
{"write", 'w',TAG_WRITE,ARGV_OPTARG_NONE,0,0,0,
|
|
|
fb301b |
"write mode (add specified files to archive)"},
|
|
|
893ea2 |
|
|
|
893ea2 |
{"copy", 0,TAG_COPY,ARGV_OPTARG_NONE,0,0,0,
|
|
|
893ea2 |
"copy mode (copy specified files "
|
|
|
893ea2 |
"to a specified destination directory)"},
|
|
|
893ea2 |
|
|
|
8aa3fc |
|
|
|
8aa3fc |
{"format", 'x',TAG_FORMAT,ARGV_OPTARG_REQUIRED,0,
|
|
|
8aa3fc |
"pax|cpio|ustar|rustar",0,
|
|
|
8aa3fc |
"archive format [%s]"},
|
|
|
8aa3fc |
|
|
|
54c29f |
{"blksize", 'b',TAG_BLKSIZE,ARGV_OPTARG_REQUIRED,0,0,0,
|
|
|
54c29f |
"(non-default) block-size; valid values are "
|
|
|
54c29f |
"in the range of 512 to 32256; keeping "
|
|
|
54c29f |
"the default format-specific block size "
|
|
|
54c29f |
"(5120 for the pax and cpio formats,"
|
|
|
54c29f |
" 10240 for the ustar format) "
|
|
|
54c29f |
"is strongly recommended."},
|
|
|
54c29f |
|
|
|
23fa88 |
{"recurse", 0,TAG_RECURSE,ARGV_OPTARG_NONE,0,0,0,
|
|
|
23fa88 |
"recurse into directory archive members "
|
|
|
23fa88 |
"(this is the tpax_main() default)"},
|
|
|
23fa88 |
|
|
|
23fa88 |
{"no-recurse", 'd',TAG_NORECURSE,ARGV_OPTARG_NONE,0,0,0,
|
|
|
23fa88 |
"do not recurse into directory archive members"},
|
|
|
23fa88 |
|
|
|
efbaf8 |
{"strict-path-input",
|
|
|
efbaf8 |
0,TAG_STRICT_PATH,ARGV_OPTARG_NONE,0,0,0,
|
|
|
efbaf8 |
"do not allow file arguments (in write and copy modes) "
|
|
|
efbaf8 |
"to contain parent-directoy (dot dot) references"},
|
|
|
efbaf8 |
|
|
|
efbaf8 |
{"pure-path-output",
|
|
|
efbaf8 |
0,TAG_PURE_PATH,ARGV_OPTARG_NONE,0,0,0,
|
|
|
efbaf8 |
"output (in list mode) or store (in write mode) path "
|
|
|
efbaf8 |
"names in pure form, specifically by liminating all "
|
|
|
efbaf8 |
"this-dir (dot) elements from the listed/stored path "
|
|
|
efbaf8 |
"name, as well as replacing each meaningless sequence "
|
|
|
efbaf8 |
"of consecutive forward slash characters with a single "
|
|
|
efbaf8 |
"forward slash; the presence of exactly two forward "
|
|
|
efbaf8 |
"slash characters in the beginning of a path may be "
|
|
|
efbaf8 |
"meaningful, and therefore shall remain instact."},
|
|
|
efbaf8 |
|
|
|
88751e |
{0,0,0,0,0,0,0,0}
|
|
|
88751e |
};
|