1
2 #include "primary-options.h"
3
4
5 static gchar *shred_iterations[]={"1","3","5","10","20",NULL};
6 static gchar *shred_size[]={"10K","100K","1M","10M","100M","1G",NULL};
7 static gchar *ls_format[] = {"long","across","commas","horizontal","single-column","verbose","vertical",NULL};
8 static gchar *ls_istyle[] = {"none","slash","file-type","classify",NULL};
9 static gchar *ls_qstyle[] = {"literal","locale","shell","shell-always","c","escape",NULL};
10 static gchar *ls_sort[] = {"none","extension","size","time","version",NULL};
11 static gchar *ls_time[] = {"status","access",NULL};
12 static gchar *ls_tstyle[] = {"locale","full-iso","long-iso","iso",NULL};
13 static gchar *cp_v_control[] = {"existing","none","numbered","simple",NULL};
14 static gchar *cp_attributes[] = {"all","mode","ownership","timestamps","context","links","xattr",NULL};
15 static gchar *cp_when[] = {"always","auto","never",NULL};
16 static gchar *cp_suffix[] = {"~",".bak",NULL};
17 static gchar *rm_interactive[]={"always","never","once",NULL};
18
19 #if 0
20 gchar **get_shred_iterations(){return shred_iterations;}
21 gchar **get_shred_size(){return shred_size;}
22 gchar **get_ls_format(){return ls_format;}
23 gchar **get_ls_istyle(){return ls_istyle;}
24 gchar **get_ls_qstyle(){return ls_qstyle;}
25 gchar **get_ls_sort(){return ls_sort;}
26 gchar **get_ls_time(){return ls_time;}
27 gchar **get_ls_tstyle(){return ls_tstyle;}
28 gchar **get_cp_v_control(){return cp_v_control;}
29 gchar **get_cp_attributes(){return cp_attributes;}
30 gchar **get_cp_when(){return cp_when;}
31 gchar **get_cp_suffix(){return cp_suffix;}
32 gchar **get_rm_interactive(){return rm_interactive;}
33 #endif
34
35 static RfmProgramOptions ls_options[]={
36 // 0x01
37 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
38 // 0x02
39 {"-A",N_("-A, --almost-all do not list implied . and .."),TRUE,NULL},
40 #ifdef GNU_LS
41 // 0x04
42 {"-C",N_("-C list entries by columns"),TRUE,NULL},
43 // 0x08
44 {"-D",N_("-D, --dired generate output designed for Emacs' dired mode"),TRUE,NULL},
45 // 0x010
46 {"-F",N_("-F, --classify append indicator (one of */=>@|) to entries"),TRUE,NULL},
47 // 0x020
48 {"-G",N_("-G, --no-group in a long listing, don't print group names"),TRUE,NULL},
49 // 0x040
50 {"-H",N_("-H, --dereference-command-line\nfollow symbolic links listed on the command line"),TRUE,NULL},
51 // 0x080
52 {"-I",N_("-I, --ignore=PATTERN do not list implied entries matching shell PATTERN"),TRUE,GINT_TO_POINTER(-1),RFM_LS_ignore},
53 // 0x0100
54 {"-L",N_("-L, --dereference when showing file information for a symbolic\nlink, show information for the file the link\nreferences rather than for the link itself"),TRUE,NULL},
55 // 0x0200
56 {"-N",N_("-N, --literal print raw entry names (don't treat e.g. control\ncharacters specially)"),TRUE,NULL},
57 // 0x0400
58 {"-Q",N_("-Q, --quote-name enclose entry names in double quotes"),TRUE,NULL},
59 // 0x0800
60 {"-R",N_("-R, --recursive list subdirectories recursively"),TRUE,NULL},
61 // 0x01000
62 {"-S",N_("-S sort by file size"),TRUE,NULL},
63 // 0x02000
64 {"-T",N_("-T, --tabsize=COLS assume tab stops at each COLS instead of 8"),TRUE,GINT_TO_POINTER(-1),RFM_LS_tabsize},
65 // 0x04000
66 {"-U",N_("-U do not sort; list entries in directory order"),TRUE,NULL},
67 // 0x08000
68 {"-X",N_("-X sort alphabetically by entry extension"),TRUE,NULL},
69 // 0x010000
70 {"-Z",N_("-Z, --context print any SELinux security context of each file"),TRUE,NULL},
71 // 0x020000
72 {"-a",N_("-a, --all do not ignore entries starting with ."),TRUE,NULL},
73 // 0x040000
74 {"--author",N_("--author with -l, print the author of each file"),TRUE,NULL},
75 // 0x080000
76 {"-b",N_("-b, --escape print C-style escapes for nongraphic characters"),TRUE,NULL},
77 // 0x0
78 {"--block-size","--block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n'--block-size=M' prints sizes in units of\n1,048,576 bytes. See SIZE format below.",TRUE,GINT_TO_POINTER(-1),RFM_LS_blocksize},
79 // 0x0100000
80 {"-c",N_("-c with -lt: sort by, and show, ctime (time of last\nmodification of file status information)\nwith -l: show ctime and sort by name\notherwise: sort by ctime, newest first"),TRUE,NULL},
81 // 0x0200000
82 {"--color",N_("--color[=WHEN] colorize the output. WHEN defaults to 'always'\nor can be 'never' or 'auto'. More info below"),TRUE,NULL},
83 // 0x0400000
84 {"-d",N_("-d, --directory list directory entries instead of contents,\nand do not dereference symbolic links"),TRUE,NULL},
85 // 0x0800000
86 {"-f",N_("-f do not sort, enable -aU, disable -ls --color"),TRUE,NULL},
87 // 0x01000000
88 {"--file-type",N_("--file-type likewise, except do not append '*'"),TRUE,NULL},
89 // 0x02000000
90 {"--format",N_("--format=WORD across -x, commas -m, horizontal -x, long -l,\nsingle-column -1, verbose -l, vertical -C"),TRUE,ls_format,RFM_LS_format},
91 // 0x04000000
92 {"--full-time",N_("--full-time like -l --time-style=full-iso"),TRUE,NULL},
93 // 0x08000000
94 {"-g",N_("-g like -l, but do not list owner"),TRUE,NULL},
95 // 0x010000000
96 {"--group-directories-first",N_("group directories before files."),TRUE,NULL},
97 // 0x020000000
98 {"-h",N_("-h, --human-readable with -l, print sizes in human readable format\n(e.g., 1K 234M 2G)"),TRUE,NULL},
99 // 0x040000000
100 {"--si",N_("--si likewise, but use powers of 1000 not 1024"),TRUE,NULL},
101 // 0x080000000
102 {"--dereference-command-line-symlink-to-dir",N_("--dereference-command-line-symlink-to-dir\nfollow each command line symbolic link\nthat points to a directory"),TRUE,NULL},
103 // 0x0100000000
104 {"--hide",N_("--hide=PATTERN do not list implied entries matching shell PATTERN\n(overridden by -a or -A)"),TRUE, GINT_TO_POINTER(-1),RFM_LS_hide},
105 // 0x0200000000
106 {"--indicator-style",N_("--indicator-style=WORD append indicator with style WORD to entry names:\nnone (default), slash (-p),\nfile-type (--file-type), classify (-F)"),TRUE,ls_istyle,RFM_LS_istyle},
107 // 0x0400000000
108 {"-i",N_("-i, --inode print the index number of each file"),TRUE,NULL},
109 // 0x0800000000
110 {"-k",N_("-k, --kibibytes use 1024-byte blocks"),TRUE,NULL},
111 // 0x01000000000
112 {"-l",N_("-l use a long listing format"),TRUE,NULL},
113 // 0x02000000000
114 {"-m",N_("-m fill width with a comma separated list of entries"),TRUE,NULL},
115 // 0x04000000000
116 {"-n",N_("-n, --numeric-uid-gid like -l, but list numeric user and group IDs"),TRUE,NULL},
117 // 0x08000000000
118 {"-o",N_("-o like -l, but do not list group information"),TRUE,NULL},
119 // 0x010000000000
120 {"-p",N_("-p, --indicator-style=slash\nappend / indicator to directories"),TRUE,NULL},
121 // 0x020000000000
122 {"-q",N_("-q, --hide-control-chars print ? instead of non graphic characters"),TRUE,NULL},
123 // 0x040000000000
124 {"--show-control-chars",N_("--show-control-chars show non graphic characters as-is (default\nunless program is 'ls' and output is a terminal)"),TRUE,NULL},
125 // 0x080000000000
126 {"--quoting-style",N_("--quoting-style=WORD use quoting style WORD for entry names:\nliteral, locale, shell, shell-always, c, escape"),TRUE,ls_qstyle,RFM_LS_qstyle},
127 // 0x0100000000000
128 {"-r",N_("-r, --reverse reverse order while sorting"),TRUE,NULL},
129 // 0x0200000000000
130 {"-s",N_("-s, --size print the allocated size of each file, in blocks"),TRUE,NULL},
131 // 0x0400000000000
132 {"--sort",N_("--sort=WORD sort by WORD instead of name: none -U,\nextension -X, size -S, time -t, version -v"),TRUE,ls_sort,RFM_LS_sort},
133 // 0x0800000000000
134 {"--time",N_("--time=WORD with -l, show time as WORD instead of modification\ntime: atime -u, access -u, use -u, ctime -c,\nor status -c; use specified time as sort key\nif --sort=time--time=WORD with -l, show time as WORD instead of modification\ntime: atime -u, access -u, use -u, ctime -c,\nor status -c; use specified time as sort key\nif --sort=time--time=WORD with -l, show time as WORD instead of modification\ntime: atime -u, access -u, use -u, ctime -c,\nor status -c; use specified time as sort key\nif --sort=time"),TRUE,ls_time,RFM_LS_time},
135 // 0x01000000000000
136 {"--time-style",N_("--time-style=STYLE show times using style STYLE:\nfull-iso, long-iso, iso, +FORMAT\nFORMAT is interpreted like 'date'"),TRUE,ls_tstyle,RFM_LS_tstyle},
137 // 0x02000000000000
138 {"-t",N_("-t sort by modification time, newest first"),TRUE,NULL},
139 // 0x04000000000000
140 {"-u",N_("-u with -lt: sort by, and show, access time\nwith -l: show access time and sort by name\notherwise: sort by access time"),TRUE,NULL},
141 // 0x08000000000000
142 {"-v",N_("-v natural sort of (version) numbers within text"),TRUE,NULL},
143 // 0x010000000000000
144 {"-w",N_("-w, --width=COLS assume screen width instead of current value"),TRUE,GINT_TO_POINTER(-1),RFM_LS_width},
145 // 0x020000000000000
146 {"-x",N_("-x list entries by lines instead of by columns"),TRUE,NULL},
147 // 0x040000000000000
148 {"-1",N_("-1 list one file per line"),TRUE,NULL},
149 // 0x080000000000000
150 {"--help",NULL,FALSE,NULL},
151 // 0x0100000000000000
152 {"--version",NULL,FALSE,NULL},
153 #else
154 // 0x02
155 {"-B",N_("Force printing of non-printable characters"),TRUE,NULL},
156 // 0x04
157 {"-C",N_("Columns"),TRUE,NULL},
158 // 0x08
159 {"-D","-D format",FALSE,NULL},
160 // 0x010
161 {"-F",N_("append one of */=>@|"),TRUE,NULL},
162 // 0x020
163 {"-G",N_("Colorize"),TRUE,NULL},
164 // 0x040
165 {"-H",N_("Follow links"),TRUE,NULL},
166 // 0x080
167 {"-I",N_("prevent -A"),TRUE,NULL},
168 // 0x0100
169 {"-L",N_("Always follow links"),TRUE,NULL},
170 // 0x0200
171 {"-P",N_("Don't follow symbolic links"),TRUE,NULL},
172 // 0x0400
173 {"-R",N_("recursive"),TRUE,NULL},
174 // 0x0800
175 {"-S",N_("Sort by Size"),TRUE,NULL},
176 // 0x01000
177 {"-T",N_("With -l, display complete time"),TRUE,NULL},
178 // 0x02000
179 {"-U",N_("Sort by Date"),TRUE,NULL},
180 // 0x04000
181 {"-W",N_("Display whiteouts"),TRUE,NULL},
182 // 0x08000
183 {"-Z",N_("Display maclabel"),TRUE,NULL},
184 // 0x010000
185 {"-a","-a, --all",FALSE,NULL},
186 // 0x020000
187 {"-b","-b, --escape",TRUE,NULL},
188 // 0x040000
189 {"-c",N_("Sort by ctime"),TRUE,NULL},
190 // 0x080000
191 {"-d",N_("list directory entries"),TRUE,NULL},
192 // 0x0100000
193 {"-f",N_("Do Not Sort"),TRUE,NULL},
194 // 0x0200000
195 {"-g",N_("like -l, but do not list owner"),TRUE,NULL},
196 // 0x0400000
197 {"-h",N_("human-readable"),TRUE,NULL},
198 // 0x0800000
199 {"-i",N_("Inode"),TRUE,NULL},
200 // 0x01000000
201 {"-k",N_("block-size=1K"),TRUE,NULL},
202 // 0x02000000
203 {"-l",N_("Details"),TRUE,NULL},
204 // 0x04000000
205 {"-m",N_("Comma separated values (CSV)"),TRUE,NULL},
206 // 0x08000000
207 {"-n",N_("numeric-uid-gid"),TRUE,NULL},
208 // 0x010000000
209 {"-o",N_("include file flags"),TRUE,NULL},
210 // 0x020000000
211 {"-p",N_("indicator-style=slash"),TRUE,NULL},
212 // 0x040000000
213 {"-q",N_("hide control characters"),TRUE,NULL},
214 // 0x080000000
215 {"-r",N_("reverse"),TRUE,NULL},
216 // 0x0100000000
217 {"-s",N_("show size"),TRUE,NULL},
218 // 0x0200000000
219 {"-t",N_("Sort by Date"),TRUE,NULL},
220 // 0x0400000000
221 {"-u",N_("Sort by atime"),TRUE,NULL},
222 // 0x0800000000
223 {"-w",N_("Force raw printing"),TRUE,NULL},
224 // 0x01000000000
225 {"-x",N_("Sort across"),TRUE,NULL},
226 // 0x02000000000
227 {"-1",N_("1 file per line"),TRUE,NULL},
228 #endif
229 {NULL,NULL,FALSE,NULL}
230 };
231
232 static RfmProgramOptions cp_options[]={
233 // 0x01
234 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
235 #ifdef GNU_CP
236 // 0x02
237 {"-H",N_("-H, --dereference-command-line\nfollow symbolic links listed on the command line"),TRUE,NULL},
238 // 0x04
239 {"-L",N_("-L, --dereference always follow symbolic links in SOURCE"),TRUE,NULL},
240 // 0x08
241 {"-P",N_("-P, --no-dereference never follow symbolic links in SOURCE"),TRUE,NULL},
242 // 0x010
243 {"-R",N_("-R, -r, --recursive copy directories recursively"),TRUE,NULL},
244 // 0x020
245 {"-a",N_("-a, --archive same as -dR --preserve=all"),TRUE,NULL},
246 // 0x040
247 {"--attributes-only",N_("--attributes-only don't copy the file data, just the attributes"),TRUE,NULL},
248 // 0x080
249 {"-b",N_("-b like --backup but does not accept an argument"),TRUE,NULL},
250 // 0x0100
251 {"--backup=",N_("--backup[=CONTROL] make a backup of each existing destination file"),TRUE,cp_v_control,RFM_CP_backup},
252 // 0x0200
253 {"--copy-contents",N_("--copy-contents copy contents of special files when recursive"),TRUE,NULL},
254 // 0x0400
255 {"-d",N_("-d same as --no-dereference --preserve=links"),TRUE,NULL},
256 // 0x0800
257 {"-f",N_("-f, --force remove existing destination files"),TRUE,NULL},
258 // 0x01000
259 {"-i",N_("Interactive"),TRUE,NULL},
260 // 0x02000
261 {"-l",N_("-l, --link hard link files instead of copying"),TRUE,NULL},
262 // 0x04000
263 {"-n",N_("n, --no-clobber do not overwrite an existing file (overrides\n"
264 "a previous -i option)"),TRUE,NULL},
265 // 0x08000
266 {"-p",N_("-p same as --preserve=mode,ownership,timestamps"),TRUE,NULL},
267 // 0x010000
268 {"--preserve=",N_("--preserve[=ATTR_LIST] preserve the specified attributes (default:\nmode,ownership,timestamps), if possible\nadditional attributes: context, links, xattr,\nall"),TRUE,cp_attributes,RFM_CP_preserve},
269 // 0x020000
270 {"--no-preserve=",N_("--no-preserve=ATTR_LIST don't preserve the specified attributes"),TRUE,cp_attributes,RFM_CP_no_preserve},
271 // 0x040000
272 {"--parents",N_("--parents use full source file name under DIRECTORY"),TRUE,NULL},
273 // 0x080000
274 {"--reflink=",N_("--reflink[=WHEN] control clone/CoW copies. See below"),TRUE,cp_when,RFM_CP_reflink},
275 // 0x0100000
276 {"--remove-destination",N_("--remove-destination remove each existing destination file before\nattempting to open it (contrast with --force)"),TRUE,NULL},
277 // 0x0200000
278 {"--sparse=",N_("--sparse=WHEN control creation of sparse files. See below"),TRUE,cp_when,RFM_CP_sparse},
279 // 0x0400000
280 {"--strip-trailing-slashes",N_("--strip-trailing-slashes remove any trailing slashes from each SOURCE\nargument"),TRUE,NULL},
281 // 0x0800000
282 {"-s",N_("-s, --symbolic-link make symbolic links instead of copying"),TRUE,NULL},
283 // 0x01000000
284 {"--suffix=",N_("-S, --suffix=SUFFIX override the usual backup suffix"),TRUE,cp_suffix, RFM_CP_suffix},
285 // 0x02000000
286 {"-T",N_("-t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY"),FALSE,NULL},
287 // 0x04000000
288 {"-u",N_("-u, --update copy only when the SOURCE file is newer\nthan the destination file or when the\ndestination file is missing"),TRUE,NULL},
289 // 0x08000000
290 {"-v",N_("-v, --verbose explain what is being done"),TRUE,NULL},
291 // 0x010000000
292 {"-x",N_("-x, --one-file-system stay on this file system"),TRUE,NULL},
293 // 0x020000000
294 {"--help",N_("Help"),FALSE,NULL},
295 // 0x040000000
296 {"--version",N_("Version"),FALSE,NULL},
297 #else
298 // 0x02
299 {"-H",N_("Follow links"),TRUE,NULL},
300 // 0x04
301 {"-L",N_("Always follow links"),TRUE,NULL},
302 // 0x08
303 {"-P",N_("Don't follow symbolic links"),TRUE,NULL},
304 // 0x010
305 {"-R",N_("recursive"),TRUE,NULL},
306 // 0x020
307 {"-a",N_("archive"),TRUE,NULL},
308 // 0x040
309 {"-f",N_("force"),TRUE,NULL},
310 // 0x080
311 {"-i",N_("-i prompt before every removal"),TRUE,NULL},
312 // 0x0100
313 {"-l",N_("hard link files instead of copying"),TRUE,NULL},
314 // 0x0200
315 {"-n",N_("Do not overwrite any file"),TRUE,NULL},
316 // 0x0400
317 {"-p",N_("Preserve all attributes"),TRUE,NULL},
318 // 0x0800
319 {"-v",N_("Verbose"),TRUE,NULL},
320 // 0x01000
321 {"-x",N_("Stay on single filesystem"),TRUE,NULL},
322 #endif
323
324 {NULL,NULL,FALSE,NULL}
325 };
326
327 static RfmProgramOptions mv_options[]={
328 // 0x01
329 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
330 #ifdef GNU_MV
331 // 0x02
332 {"-b",N_("-b like --backup but does not accept an argument"),TRUE,NULL},
333 // 0x04
334 {"--backup=",N_("--backup[=CONTROL] make a backup of each existing destination file"),TRUE,cp_v_control,RFM_MV_backup},
335 // 0x08
336 {"-f",N_("-f, --force remove existing destination files"),TRUE,NULL},
337 // 0x010
338 {"-i",N_("-i prompt before every removal"),TRUE,NULL},
339 // 0x020
340 {"--strip-trailing-slashes",N_("--strip-trailing-slashes remove any trailing slashes from each SOURCE\nargument"),TRUE,NULL},
341 // 0x040
342 {"--suffix=",N_("-S, --suffix=SUFFIX override the usual backup suffix"),TRUE,cp_suffix,RFM_MV_suffix},
343 // 0x080
344 {"-t",N_("-t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY"),FALSE,NULL},
345 // 0x0100
346 {"-T",N_("-T, --no-target-directory treat DEST as a normal file"),FALSE,NULL},
347 // 0x0200
348 {"-u",N_("-u, --update move only when the SOURCE file is newer\nthan the destination file or when the\ndestination file is missing"),TRUE,NULL},
349 // 0x0400
350 {"-v",N_("-v, --verbose explain what is being done"),TRUE,NULL},
351 // 0x0800
352 {"--help",N_("Help"),FALSE,NULL},
353 // 0x01000
354 {"--version",N_("Version"),TRUE,NULL},
355 #else
356 // 0x02
357 {"-f",N_("force"),TRUE,NULL},
358 // 0x04
359 {"-i",N_("Interactive"),TRUE,NULL},
360 // 0x08
361 {"-n",N_("Do not overwrite any file"),TRUE,NULL},
362 // 0x010
363 {"-v",N_("Verbose"),TRUE,NULL},
364
365 #endif
366 {NULL,NULL,FALSE,NULL}
367 };
368
369 static RfmProgramOptions ln_options[]={
370 // 0x01
371 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
372 #ifdef GNU_LN
373 // 0x02
374 {"-b",N_("-b like --backup but does not accept an argument"),TRUE,NULL},
375 // 0x04
376 {"--backup=",N_("--backup[=CONTROL] make a backup of each existing destination file"),TRUE,cp_v_control,RFM_LN_backup},
377 // 0x08
378 {"-d","-d, -F, --directory",FALSE,NULL},
379 // 0x010
380 {"-f",N_("-f, --force remove existing destination files"),TRUE,NULL},
381 // 0x020
382 {"-L",N_("-L, --logical dereference TARGETs that are symbolic links"),TRUE,NULL},
383 // 0x040
384 {"-n",N_("-n, --no-dereference treat LINK_NAME as a normal file if\nit is a symbolic link to a directory"),TRUE,NULL},
385 // 0x080
386 {"-P",N_("-P, --physical make hard links directly to symbolic links"),TRUE,NULL},
387 // 0x0100
388 {"-s",N_("-s, --symbolic make symbolic links instead of hard links"),TRUE,NULL},
389 // 0x0200
390 {"--suffix=",N_("-S, --suffix=SUFFIX override the usual backup suffix"),TRUE,cp_suffix,RFM_LN_suffix},
391 // 0x0400
392 {"-t",N_("-t, --target-directory=DIRECTORY specify the DIRECTORY in which to create\nthe links"),FALSE,NULL},
393 // 0x0800
394 {"-T",N_("-T, --no-target-directory treat LINK_NAME as a normal file always"),FALSE,NULL},
395 // 0x01000
396 {"-v",N_("-v, --verbose explain what is being done"),TRUE,NULL},
397 // 0x02000
398 {"--help",N_("Help"),FALSE,NULL},
399 // 0x04000
400 {"--version",N_("Version"),FALSE,NULL},
401 #else
402 // 0x02
403 {"-F",N_("force"),TRUE,NULL},
404 // 0x04
405 {"-L",N_("make hard links to symbolic link references"),TRUE,NULL},
406 // 0x08
407 {"-P",N_("make hard links directly to symbolic links"),TRUE,NULL},
408 // 0x010
409 {"-f",N_("force"),TRUE,NULL},
410 // 0x020
411 {"-h",N_("Don't follow symbolic links"),TRUE,NULL},
412 // 0x040
413 {"-i",N_("Interactive"),TRUE,NULL},
414 // 0x080
415 {"-n",N_("Don't follow symbolic links"),TRUE,NULL},
416 // 0x0100
417 {"-s",N_("Create Symbolic Link"),TRUE,NULL},
418 // 0x0200
419 {"-v",N_("Verbose"),TRUE,NULL},
420 // 0x0400
421 {"-w",N_("Warn if error in documents"),TRUE,NULL},
422 #endif
423 {NULL,NULL,FALSE,NULL}
424 };
425
426 static RfmProgramOptions rm_options[]={
427 // 0x01
428 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
429 #ifdef GNU_RM
430 // 0x02
431 {"-f",N_("-f, --force ignore nonexistent files and arguments, never prompt"),TRUE,NULL},
432 // 0x04
433 {"-i",N_("-i prompt before every removal"),TRUE,NULL},
434 // 0x08
435 {"-I",N_("-I prompt once before removing more than three files, or\nwhen removing recursively. Less intrusive than -i,\nwhile still giving protection against most mistakes"),TRUE,NULL},
436 // 0x010
437 {"--interactive=",N_("--interactive[=WHEN] prompt according to WHEN: never, once (-I), or\nalways (-i). Without WHEN, prompt always"),TRUE,rm_interactive,RFM_RM_interactive},
438 // 0x020
439 {"--one-file-system",N_("Stay on single filesystem"),TRUE,NULL},
440 // 0x040
441 {"--no-preserve-root",N_("--no-preserve-root do not treat '/' specially"),TRUE,NULL},
442 // 0x080
443 {"--preserve-root",N_("--preserve-root do not remove '/' (default)"),TRUE,NULL},
444 // 0x0100
445 {"-R",N_("-r, -R, --recursive remove directories and their contents recursively"),TRUE,NULL},
446 // 0x0200
447 {"-v",N_("-v, --verbose explain what is being done"),TRUE,NULL},
448 // 0x0400
449 {"--help",N_("Help"),FALSE,NULL},
450 // 0x0800
451 {"--version",N_("Version"),FALSE,NULL},
452 #else
453 // 0x02
454 {"-d",N_("Remove directory"),TRUE,NULL},
455 // 0x04
456 {"-f",N_("force"),TRUE,NULL},
457 // 0x08
458 {"-i",N_("Interactive"),TRUE,NULL},
459 // 0x010
460 {"-I",N_("Interactive"),TRUE,NULL},
461 // 0x020
462 {"-P",N_("Overwrite all files"),TRUE,NULL},
463 // 0x040
464 {"-R",N_("recursive"),TRUE,NULL},
465 // 0x080
466 {"-r",N_("recursive"),FALSE,NULL},
467 // 0x0100
468 {"-v",N_("Verbose"),TRUE,NULL},
469 // 0x0200
470 {"-W",N_("Undelete"),FALSE,NULL},
471 #endif
472 {NULL,NULL,FALSE,NULL}
473 };
474
475 static RfmProgramOptions shred_options[]={
476 // 0x01
477 {"",N_("Ask the user to get additional parameters"),TRUE,NULL},
478 // 0x02
479 {"-f",N_("force"),TRUE,NULL},
480 // this could use a spin button
481 // 0x04
482 {"--iterations=",N_("-n, --iterations=N overwrite N times instead of the default (%d)"), TRUE,shred_iterations,RFM_SHRED_iterations},
483 // 0x08
484 {"--random-source=",N_("--random-source=FILE get random bytes from FILE"),FALSE,NULL},// this needs a fileselector button.
485 // 0x010
486 {"--size=",N_("-s, --size=N shred this many bytes (suffixes like K, M, G accepted)"),TRUE,shred_size,RFM_SHRED_size},// this could use a spinbutton
487
488 // 0x020
489 {"-u",N_("-u, --remove truncate and remove file after overwriting"),TRUE,NULL},
490 // 0x040
491 {"-v",N_("-v, --verbose show progress"),TRUE,NULL},
492 // 0x080
493 {"-x",N_("-x, --exact do not round file sizes up to the next full block;\nthis is the default for non-regular files"),TRUE,NULL},
494 // 0x0100
495 {"-z",N_("-z, --zero add a final overwrite with zeros to hide shredding"),TRUE,NULL},
496 // 0x0200
497 {"--help",N_("Help"),FALSE,NULL},
498 // 0x0400
499 {"--version",N_("Version"),FALSE,NULL},
500 {NULL,NULL,FALSE,NULL}
501 };
502
get_ls_options(void)503 void *get_ls_options(void){return (void *)ls_options;}
get_cp_options(void)504 void *get_cp_options(void){return (void *)cp_options;}
get_mv_options(void)505 void *get_mv_options(void){return (void *)mv_options;}
get_ln_options(void)506 void *get_ln_options(void){return (void *)ln_options;}
get_rm_options(void)507 void *get_rm_options(void){return (void *)rm_options;}
get_shred_options(void)508 void *get_shred_options(void){return (void *)shred_options;}
509
510
511