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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved
*
* module:
* messages.h
*
* purpose:
* contins defines for all localizable messages
*
* notes:
* unless otherwise specified, all %s arguments can be assumed
* to be file names. Non-obvious arguments are explained in
* comments.
*/
#ifndef _MESSAGES_H
#define _MESSAGES_H
#pragma ident "%W% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#include <libintl.h>
/*
* summary output messages
*/
#define SUM_hd "RECONCILE %s and %s (%d files)\n"
#define SUM_dst "\t-> %4d copies, %4d deletes, %4d ownership\n"
#define SUM_src "\t<- %4d copies, %4d deletes, %4d ownership\n"
#define SUM_unresolved "\tUNRESOLVED CONFLICTS: %d\n"
/*
* verbose mode analysis commentary
*/
#define V_nomore "# file %s no longer exists\n"
#define V_deleted "# file %s deleted from %s\n" /* src/dst */
#define V_created "# file %s created on %s\n" /* src/dst */
#define V_delconf "# file %s has been deleted and changed\n"
#define V_trunconf "# file %s has been truncated and changed\n"
#define V_unchanged "# file %s has two identical versions\n"
#define V_different "# file %s has two different versions\n"
#define V_modes "# file %s has changed modes/ownership\n"
#define V_changed "# file %s has been modified\n"
#define V_renamed "# file %s has been renamed to %s\n"
#define V_prunes "# %d stale entries pruned from baseline\n"
#define V_nostat "# WARNING: unable to stat file %s\n"
#define V_change "# WARNING: file %s on %s, was <%ld,%ld>#%ld, now <%ld,%ld>#%ld\n"
#define V_suppressed "# file %s not reconciled due to halt-on-error\n"
/*
* usage messages
*/
#define ERR_usage "Usage:"
#define USE_a "always check for Access Control Lists"
#define USE_e "everything must agree (modes, owner, group)"
#define USE_h "halt immediately after a file propagation error"
#define USE_m "modification times should be preserved"
#define USE_n "no touch (do not change any files)"
#define USE_q "quiet (do not list reconciliation commands)"
#define USE_v "verbose (commentary on each changed file)"
#define USE_y "yes (do not prompt for confirmations)"
#define USE_s "source directory for new rules"
#define USE_d "destination directory for new rules"
#define USE_r "restrict reconciliation to specified directories"
#define USE_f "force conflicts to resolve in favor of src/dst/old/new"
#define USE_o "one-way: only propagate changes from src/dst"
/*
* These are the basic usage scenario line, and in most cases should not
* be translated.
*/
#define USE_simple "[-mnqv] -s dir -d dir file ..."
#define USE_all "[-aehmnqvy] [-r dir] [-f src/dst/old/new] [-o src/dst]"
/*
* error messages
*/
#define ERR_open "ERROR: cannot open %s file %s\n"
#define ERR_creat "ERROR: unable to create %s file %s\n"
#define ERR_write "ERROR: write error in %s file %s\n"
#define ERR_fclose "ERROR: error in flushing and closing %s file %s\n"
#define ERR_chdir "ERROR: unable to chdir to %s\n"
#define ERR_rename "ERROR: unable to rename %s file %s to %s\n"
#define ERR_lock "ERROR: unable to lock %s file %s\n"
/*
* first %s argument is "rules" or "baseline"
*/
#define ERR_badinput "ERROR: invalid input at line %d, %s in %s\n"
/*
* first %s argument is a the name of the offending
* field (e.g. "mode" or "major dev"). The last
* %s argument is the name of the file being
* processed.
*/
#define ERR_badver "ERROR: bad version (%d.%d) found in %s file %s\n"
/*
* second %s is "rules" or "baseline"
* last %s is file name
*/
#define ERR_nocwd "ERROR: unable to get working directory for %s\n"
#define ERR_longname "ERROR: excessively long name %s\n"
#define ERR_undef "ERROR: undefined variable %s\n"
#define ERR_deep "ERROR: directory tree is too deep at directory %s\n"
#define ERR_badopt "ERROR: unrecognized option -%c %s\n"
/*
* the %c argument is the offending flag
* (e.g. -f or -o) and the %s is the argument
* that followed it.
*/
#define ERR_nofsync "ERROR: unable to find rule and baseline files\n"
#define ERR_badbase "ERROR: invalid BASE directory %s\n"
#define ERR_nosrc "ERROR: no source directory specified\n"
#define ERR_nodst "ERROR: no destination directory specified\n"
#define ERR_nonames "ERROR: no file/directory names specified and no rules file found\n"
#define ERR_tomany "ERROR: only %d -r arguments allowed\n"
#define ERR_rdwri "ERROR: cannot read/write file %s\n"
#define ERR_dirwac "ERROR: cannot create files in directory %s\n"
#define ERR_nomem "ERROR: unable to allocate memory for %s\n"
/*
* the %s argument is the name of a data structure
* that could not be allocated. It is only useful
* for telling the support person over the phone.
*/
#define ERR_badrun "ERROR: bad exit code from %s\n"
/*
* argument is a command from the rules file
*/
#define ERR_cannot "ERROR: %s %s\n"
/*
* The first %s argument will be a PROB_ string.
* The second %s argument is the file we were
* trying to do it to.
*/
#define ERR_abort_h "ERROR: aborting because of propagation failure\n"
#define WARN_ignore "WARNING: ignoring LIST rule for %s (illegal '.', '..', or '/')\n"
#define WARN_noacls "WARNING: ACLs are not supported for file %s\n"
#define WARN_deletes "WARNING: this operation might delete %d files\n"
#define WARN_rmdirs "WARNING: operation might delete %d non-empty directories\n"
#define WARN_ichange "WARNING: %d listed directories have changed Inode #s\n"
#define WARN_proceed "Press Enter to confirm, or interrupt to abort\n"
#define WARN_super "NOTE: there are ownership and protection conflicts that can only be\n resolved by the super user\n"
/*
* descriptions of problems in unreconcilable files
*/
#define PROB_del_change "deleted and changed"
#define PROB_different "two different versions"
#define PROB_ownership "different owners"
#define PROB_protection "different protections"
#define PROB_prohibited "blocked by -o switch"
#define PROB_aborted "aborted by -h switch"
#define PROB_chown "unable to chown"
#define PROB_chgrp "unable to chgrp"
#define PROB_chmod "unable to chmod"
#define PROB_chacl "unable to setfacl"
#define PROB_link "unable to link"
#define PROB_unlink "unable to unlink"
#define PROB_rmdir "unable to rmdir"
#define PROB_copy "unable to copy"
#define PROB_mknod "unable to mknod"
#define PROB_mkdir "unable to mkdir"
#define PROB_readlink "unable to read symlink"
#define PROB_symlink "unable to create symlink"
#define PROB_restat "unable to stat/restat"
#define PROB_deal "unable to deal with"
#define PROB_copyin "unable to open changed file"
#define PROB_copyout "unable to create new file"
#define PROB_botch "unable to safely setfacl"
#define PROB_rename "unable to rename"
#define PROB_rename2 "unable to rename/create"
#define PROB_read "read error"
#define PROB_write "write error"
#define PROB_space "insufficient space to copy"
/*
* text snippets
*/
#define TXT_src "source" /* for WARN_change */
#define TXT_dst "destination" /* for WARN_change */
#define TXT_srcdst "missing source/destination" /* for ERR_bad_input */
#define TXT_noargs "missing arguments" /* for ERR_bad_input */
#define TXT_badver "invalid version number" /* for ERR_bad_input */
#define TXT_nobase "LIST without a BASE" /* for ERR_bad_input */
#define TXT_rules "rules" /* for ERR_bad_ver */
#define TXT_base "baseline" /* for ERR_bad_ver */
#ifdef __cplusplus
}
#endif
#endif /* _MESSAGES_H */
|