1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#include "tpax_driver_impl.h"
#include "tpax_visibility_impl.h"
#include "argv/argv.h"
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"},
{"Whelp", 0,TAG_HELP,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"show usage information"},
{"Wlist", 0,TAG_LIST,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"list mode (output names of archive members)"},
{"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,
ARGV_OPTION_HYBRID_ONLY,0,0,
"write mode (add specified files to archive)"},
{"Wcopy", 0,TAG_COPY,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"copy mode (copy specified files "
"to a specified destination directory)"},
{"Wformat", 'x',TAG_FORMAT,ARGV_OPTARG_REQUIRED,
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_EQUAL,
"pax|cpio|ustar|rustar",0,
"archive format [%s]"},
{"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 "
"(5120 for the pax and cpio formats,"
" 10240 for the ustar format) "
"is strongly recommended."},
{"Wrecurse", 0,TAG_RECURSE,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"recurse into directory archive members "
"(this is the tpax_main() default)"},
{"Wno-recurse",'d',TAG_NORECURSE,ARGV_OPTARG_NONE,
ARGV_OPTION_HYBRID_ONLY,0,0,
"do not recurse into directory archive members"},
{"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"},
{"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 "
"name, as well as replacing each meaningless sequence "
"of consecutive forward slash characters with a single "
"forward slash; the presence of exactly two forward "
"slash characters in the beginning of a path may be "
"meaningful, and therefore shall remain instact."},
{0,0,0,0,0,0,0,0}
};
|