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