1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1987-2011 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                 Eclipse Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *          http://www.eclipse.org/org/documents/epl-v10.html           *
11 *         (with md5 checksum b35adb5213ca9657e911e9befb180842)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *               Glenn Fowler <glenn.s.fowler@gmail.com>                *
18 *                                                                      *
19 ***********************************************************************/
20 #pragma prototyped
21 /*
22  * Glenn Fowler
23  * AT&T Research
24  *
25  * pax option definitions
26  */
27 
28 #define OPT_DISABLE		(1<<0)
29 #define OPT_GLOBAL		(1<<1)
30 #define OPT_HEADER		(1<<2)
31 #define OPT_IGNORE		(1<<3)
32 #define OPT_INVERT		(1<<4)
33 #define OPT_NUMBER		(1<<5)
34 #define OPT_OPTIONAL		(1<<6)
35 #define OPT_READONLY		(1<<7)
36 #define OPT_SET			(1<<8)
37 #define OPT_VENDOR		(1<<9)
38 
39 #define OPT_environ		(-1)
40 
41 #define OPT_action		1
42 #define OPT_append		2
43 #define OPT_atime		3
44 #define OPT_base		4
45 #define OPT_blocksize		5
46 #define OPT_blok		6
47 #define OPT_charset		7
48 #define OPT_checksum		8
49 #define OPT_chksum		9
50 #define OPT_chmod		10
51 #define OPT_clobber		11
52 #define OPT_comment		12
53 #define OPT_complete		13
54 #define OPT_crossdevice		14
55 #define OPT_ctime		15
56 #define OPT_debug		16
57 #define OPT_delete		17
58 #define OPT_delta_base_checksum	18
59 #define OPT_delta_base_size	19
60 #define OPT_delta_checksum	20
61 #define OPT_delta_compress	21
62 #define OPT_delta_index		22
63 #define OPT_delta_method	23
64 #define OPT_delta_op		24
65 #define OPT_delta_ordered	25
66 #define OPT_delta_update	26
67 #define OPT_delta_version	27
68 #define OPT_descend		28
69 #define OPT_device		29
70 #define OPT_devmajor		30
71 #define OPT_devminor		31
72 #define OPT_different		32
73 #define OPT_dir			33
74 #define OPT_dots		34
75 #define OPT_edit		35
76 #define OPT_entry		36
77 #define OPT_eom			37
78 #define OPT_exact		38
79 #define OPT_extended_name	39
80 #define OPT_file		40
81 #define OPT_filter		41
82 #define OPT_forceconvert	42
83 #define OPT_format		43
84 #define OPT_from		44
85 #define OPT_gid			45
86 #define OPT_global_name		46
87 #define OPT_gname		47
88 #define OPT_hdrcharset		48
89 #define OPT_header		49
90 #define OPT_ignore		50
91 #define OPT_ino			51
92 #define OPT_install		52
93 #define OPT_intermediate	53
94 #define OPT_invalid		54
95 #define OPT_invert		55
96 #define OPT_keepgoing		56
97 #define OPT_label		57
98 #define OPT_link		58
99 #define OPT_linkdata		59
100 #define OPT_linkop		60
101 #define OPT_linkpath		61
102 #define OPT_listformat		62
103 #define OPT_listmacro		63
104 #define OPT_local		64
105 #define OPT_logical		65
106 #define OPT_magic		66
107 #define OPT_mark		67
108 #define OPT_maxout		68
109 #define OPT_metaphysical	69
110 #define OPT_meter		70
111 #define OPT_mkdir		71
112 #define OPT_mode		72
113 #define OPT_mtime		73
114 #define OPT_name		74
115 #define OPT_newer		75
116 #define OPT_nlink		76
117 #define OPT_options		77
118 #define OPT_ordered		78
119 #define OPT_owner		79
120 #define OPT_passphrase		80
121 #define OPT_path		81
122 #define OPT_physical		82
123 #define OPT_pid			83
124 #define OPT_preserve		84
125 #define OPT_read		85
126 #define OPT_record_charset	86
127 #define OPT_record_delimiter	87
128 #define OPT_record_format	88
129 #define OPT_record_header	89
130 #define OPT_record_line		90
131 #define OPT_record_match	91
132 #define OPT_record_pad		92
133 #define OPT_record_size		93
134 #define OPT_record_trailer	94
135 #define OPT_release		95
136 #define OPT_reset_atime		96
137 #define OPT_sequence		97
138 #define OPT_size		98
139 #define OPT_strict		99
140 #define OPT_summary		100
141 #define OPT_symlink		101
142 #define OPT_sync		102
143 #define OPT_tape		103
144 #define OPT_test		104
145 #define OPT_testdate		105
146 #define OPT_times		106
147 #define OPT_tmp			107
148 #define OPT_to			108
149 #define OPT_typeflag		109
150 #define OPT_uid			110
151 #define OPT_uname		111
152 #define OPT_unblocked		112
153 #define OPT_uncompressed	113
154 #define OPT_update		114
155 #define OPT_verbose		115
156 #define OPT_verify		116
157 #define OPT_version		117
158 #define OPT_warn		118
159 #define OPT_write		119
160 #define OPT_yes			120
161 
162 typedef struct Option_s
163 {
164 	char*		name;
165 	short		flag;
166 	short		index;
167 	char*		description;
168 	char*		argument;
169 	char*		details;
170 	short		flags;
171 	short		level;
172 	size_t		entry;
173 	char*		macro;
174 	Value_t		perm;
175 	Value_t		temp;
176 } Option_t;
177 
178 extern Option_t		options[];
179