xref: /illumos-gate/usr/src/cmd/sgs/rtld/common/rtld.msg (revision 28ab0ca48b3e331cbbb231b1c8325f9f24f9af95)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
24#
25
26@ _START_
27
28# Message file for cmd/sgs/rtld (ld.so.1)
29
30@ MSG_ID_RTLD
31
32# Usage error
33@ MSG_USG_BADOPT	"usage: ld.so.1 [-e option,...] \
34			 dynamic-object [object args,...]"
35
36# Message formatting error.
37@ MSG_EMG_BUFOVRFLW	"ld.so.1: internal: message buffer overflow"
38
39# Argument processing errors
40
41@ MSG_ARG_ILLMODE_1	"illegal mode: RTLD_NOW or RTLD_LAZY or RTLD_NOLOAD \
42			 required"
43@ MSG_ARG_ILLMODE_2	"illegal mode: RTLD_NOW cannot be combined with \
44			 RTLD_LAZY"
45@ MSG_ARG_ILLMODE_3	"illegal mode: LM_ID_NEWLM requires non-zero path"
46@ MSG_ARG_ILLMODE_4	"illegal mode: LM_ID_NEWLM cannot be combined with \
47			 RTLD_PARENT"
48@ MSG_ARG_ILLMODE_5	"illegal mode: potential multiple path expansion \
49			 requires RTLD_FIRST"
50
51@ MSG_ARG_ILLPATH	"illegal pathname"
52@ MSG_ARG_ILLSYM	"illegal symbol name"
53@ MSG_ARG_ILLNAME	"illegal name"
54@ MSG_ARG_INVADDR	"address 0x%llx does not fall within any mapped object"
55@ MSG_ARG_INVHNDL	"invalid handle: 0x%llx"
56@ MSG_ARG_ILLVAL	"illegal request value"
57@ MSG_ARG_NOCONFIG	"no configuration file in use"
58@ MSG_ARG_NOPROFNAME	"no profile target specified"
59@ MSG_ARG_ATEXIT	"purge of atexit() registrations failed: %d"
60@ MSG_ARG_SERCNT	"information path count (%d) insufficient"
61@ MSG_ARG_SERSIZE	"information buffer size (%lld) insufficient"
62@ MSG_ARG_ILLFLAGS	"illegal flags value: %d"
63@ MSG_ARG_ILLINFO	"non-null info field required for flags value: %d"
64@ MSG_ARG_INVSIG	"invalid signal supplied: %d"
65
66# General error diagnostics
67
68@ MSG_GEN_NOOPEN	"DF_1_NOOPEN tagged object may not be dlopen()'ed"
69
70@ MSG_GEN_NOFILE	"%s: can't find file"
71@ MSG_GEN_ALTER		"%s: alternate file in use"
72@ MSG_GEN_NOSYM		"%s: can't find symbol"
73@ MSG_GEN_NODUMP	"%s: DF_1_NODUMP tagged object may not be dldump()'ed"
74
75# Move related messages
76
77@ MSG_MOVE_ERR1		"move entry with illegal size; ignored"
78
79
80# Relocation processing messages (some of these are required to satisfy
81# do_reloc(), which is common code used by cmd/sgs/libld - make sure both
82# message files remain consistent).
83
84@ MSG_REL_NOSYM		"relocation error: file %s: symbol %s: \
85			 referenced symbol not found"
86@ MSG_REL_PLTREF	"relocation error: %s: unidentifiable procedure \
87			 reference: link-map 0x%llx, offset 0x%llx, \
88			 called from 0x%llx"
89@ MSG_REL_UNSUPSZ	"relocation error: %s: file %s: symbol %s: \
90			 offset size (%d bytes) is not supported"
91@ MSG_REL_BADTLS	"relocation error: %s: file %s: symbol %s: \
92			 file contains insufficient TLS support information"
93
94# System call messages.
95
96@ MSG_SYS_BRK		"%s: brk failed: %s"
97@ MSG_SYS_OPEN		"%s: open failed: %s"
98@ MSG_SYS_MMAP		"%s: mmap failed: %s"
99@ MSG_SYS_MPROT		"%s: mprotect failed: %s"
100@ MSG_SYS_MMAPANON	"mmap anon failed: %s"
101
102@ MSG_SEC_OPEN		"%s: open failed: No such file in secure directories"
103@ MSG_SEC_ILLEGAL	"%s: open failed: illegal insecure pathname"
104
105
106# Configuration failures
107
108@ MSG_CONF_APP		"configuration file: %s: is specific to application: %s"
109@ MSG_CONF_DSTAT	"configuration file: %s: original directory %s: stat \
110			 failed: %s"
111@ MSG_CONF_FSTAT	"configuration file: %s: original file %s: stat \
112			 failed: %s"
113@ MSG_CONF_FCMP		"configuration file: %s: original file %s: modified \
114			 since configuration file creation"
115
116# Link Audit diagnostic message formats
117
118@ MSG_AUD_BADVERS	"version mismatch: current %d: required %d"
119@ MSG_AUD_DISABLED	"%s: audit initialization failure: disabled"
120
121
122# Versioning diagnostics.
123
124@ MSG_VER_NFOUND	"%s: version '%s' not found (required by file %s)"
125
126
127# Diagnostics generated under the control of ldd(1).
128
129@ MSG_LDD_VER_FIND	"   find version=%s\n"
130@ MSG_LDD_VER_NFOUND	"\t%s (%s) =>\t (version not found)\n"
131
132@ MSG_LDD_SYM_NFOUND	"\tsymbol not found: %s\t\t(%s)\n"
133
134@ MSG_LDD_PTH_TRYING	"    trying path=%s%s\n"
135@ MSG_LDD_PTH_LIBPATH	"    search path=%s  (LD_LIBRARY_PATH)\n"
136@ MSG_LDD_PTH_LIBPATHC	"    search path=%s  (configuration \
137			 LD_LIBRARY_PATH - %s)\n"
138@ MSG_LDD_PTH_RUNPATH	"    search path=%s  (RUNPATH/RPATH from file %s)\n"
139@ MSG_LDD_PTH_BGNDFL	"    search path="
140@ MSG_LDD_PTH_ENDDFL	"  (default)\n"
141@ MSG_LDD_PTH_ENDDFLC	"  (configuration default - %s)\n"
142@ MSG_LDD_PTH_IGNORE	"    ignore path=%s  (insecure directory name)\n"
143
144@ MSG_LDD_FIL_FILTER	"\n   object=%s; filter for %s\n"
145@ MSG_LDD_FIL_FIND	"\n   find object=%s; required by %s\n"
146@ MSG_LDD_FIL_NFOUND	"\t%s =>\t (file not found)\n"
147@ MSG_LDD_FIL_ILLEGAL	"\t%s =>\t (illegal insecure pathname)\n"
148@ MSG_LDD_FIL_ALTER	"  (alternate)"
149
150@ MSG_LDD_CAP_NFOUND	"\t%s =>\t (no capability objects found)\n"
151
152@ MSG_LDD_SEC_NFOUND	"\t%s =>\t (file not found in secure directories)\n"
153
154@ MSG_LDD_REL_ERR1	"\trelocation %s offset invalid: %s: offset=0x%llx \
155			 lies outside memory image; relocation discarded\n"
156@ MSG_LDD_REL_ERR2	"\tloading after relocation has started: interposition \
157			 request (DF_1_INTERPOSE) ignored: %s\n"
158@ MSG_LDD_MOVE_ERR	"\tmove %lld offset invalid: %s: offset=0x%llx \
159			 lies outside memory image; move discarded\n"
160@ MSG_LDD_CPY_SIZDIF	"\trelocation %s sizes differ: %s\n\
161			 \t\t(file %s size=0x%llx; file %s size=0x%llx)\n"
162@ MSG_LDD_CPY_INSDATA	"\t\t%s size used; possible insufficient data copied\n"
163@ MSG_LDD_CPY_DATRUNC	"\t\t%s size used; possible data truncation\n"
164@ MSG_LDD_CPY_PROT	"\trelocation %s symbol: %s: file %s: relocation bound \
165			 to a symbol with STV_PROTECTED visibility\n"
166
167@ MSG_LDD_INIT_FMT_01	"\n   cyclic dependencies detected, group [%d]:\n"
168@ MSG_LDD_INIT_FMT_02	"   init object=%s\n"
169@ MSG_LDD_INIT_FMT_03	"   init object=%s - cyclic group [%d], referenced \
170			 by:\n"
171
172@ MSG_LDD_UNUSED_FMT	"   unused object=%s\n"
173@ MSG_LDD_UNCYC_FMT	"   unused object=%s; member of cyclic group [%d]\n"
174@ MSG_LDD_UNREF_FMT	"   unreferenced object=%s; unused dependency of %s\n"
175
176@ MSG_LDD_REL_CPYDISP	"\tsymbol %s: file %s: copy relocation symbol may \
177			 have been displacement relocated\n"
178
179@ MSG_LDD_REJ_MACH	"  - wrong ELF machine type: %s"
180@ MSG_LDD_REJ_CLASS	"  - wrong ELF class: %s"
181@ MSG_LDD_REJ_DATA	"  - wrong ELF data format: %s"
182@ MSG_LDD_REJ_TYPE	"  - bad ELF type: %s"
183@ MSG_LDD_REJ_BADFLAG	"  - bad ELF flags value: %s"
184@ MSG_LDD_REJ_MISFLAG	"  - mismatched ELF flags value: %s"
185@ MSG_LDD_REJ_VERSION	"  - mismatched ELF/lib version: %s"
186@ MSG_LDD_REJ_HAL	"  - HAL R1 extensions required"
187@ MSG_LDD_REJ_US3	"  - Sun UltraSPARC III extensions required"
188@ MSG_LDD_REJ_STR	"  - %s"
189@ MSG_LDD_REJ_UNKFILE	"  - unknown file type"
190@ MSG_LDD_REJ_UNKCAP	"  - unknown capability: %d"
191@ MSG_LDD_REJ_HWCAP_1	"  - hardware capability (CA_SUNW_HW_1) unsupported: %s"
192@ MSG_LDD_REJ_SFCAP_1	"  - software capability (CA_SUNW_SF_1) unsupported: %s"
193@ MSG_LDD_REJ_MACHCAP	"  - machine capability (CA_SUNW_MACH) unsupported: %s"
194@ MSG_LDD_REJ_PLATCAP	"  - platform capability (CA_SUNW_PLAT) unsupported: %s"
195@ MSG_LDD_REJ_HWCAP_2	"  - hardware capability (CA_SUNW_HW_2) unsupported: %s"
196@ MSG_LDD_REJ_ARCHIVE	"  - invalid archive use"
197@ MSG_LDD_REJ_KMOD	"  - invalid kernel module use"
198
199@ MSG_LDD_WARN_UNKCAP	"%s: unknown capability: %d"
200@ MSG_LDD_WARN_HWCAP_1	"%s: warning: hardware capability (CA_SUNW_HW_1) \
201			 unsupported: %s\n"
202@ MSG_LDD_WARN_SFCAP_1	"%s: warning: software capability (CA_SUNW_SF_1) \
203			 unsupported: %s\n"
204@ MSG_LDD_WARN_MACHCAP	"%s: warning: machine capability (CA_SUNW_MACH) \
205			 unsupported: %s\n"
206@ MSG_LDD_WARN_PLATCAP	"%s: warning: platform capability (CA_SUNW_PLAT) \
207			 unsupported: %s\n"
208@ MSG_LDD_WARN_HWCAP_2	"%s: warning: hardware capability (CA_SUNW_HW_2) \
209			 unsupported: %s\n"
210
211# Error rejection messages.
212
213@ MSG_ERR_REJ_MACH	"%s: wrong ELF machine type: %s"
214@ MSG_ERR_REJ_CLASS	"%s: wrong ELF class: %s"
215@ MSG_ERR_REJ_DATA	"%s: wrong ELF data format: %s"
216@ MSG_ERR_REJ_TYPE	"%s: bad ELF type: %s"
217@ MSG_ERR_REJ_BADFLAG	"%s: bad ELF flags value: %s"
218@ MSG_ERR_REJ_MISFLAG	"%s: mismatched ELF flags value: %s"
219@ MSG_ERR_REJ_VERSION	"%s: mismatched ELF/lib version: %s"
220@ MSG_ERR_REJ_HAL	"%s: HAL R1 extensions required"
221@ MSG_ERR_REJ_US3	"%s: Sun UltraSPARC III extensions required"
222@ MSG_ERR_REJ_STR	"%s: %s"
223@ MSG_ERR_REJ_UNKFILE	"%s: unknown file type"
224@ MSG_ERR_REJ_UNKCAP	"%s: unknown capability: %d"
225@ MSG_ERR_REJ_HWCAP_1	"%s: hardware capability (CA_SUNW_HW_1) unsupported: %s"
226@ MSG_ERR_REJ_SFCAP_1	"%s: software capability (CA_SUNW_SF_1) unsupported: %s"
227@ MSG_ERR_REJ_MACHCAP	"%s: machine capability (CA_SUNW_MACH) unsupported: %s"
228@ MSG_ERR_REJ_PLATCAP	"%s: platform capability (CA_SUNW_PLAT) unsupported: %s"
229@ MSG_ERR_REJ_HWCAP_2	"%s: hardware capability (CA_SUNW_HW_2) unsupported: %s"
230@ MSG_ERR_REJ_ARCHIVE	"%s: invalid archive use"
231@ MSG_ERR_REJ_KMOD	"%s: invalid kernel module use"
232
233# Error TLS failures
234
235@ MSG_TLS_NOSUPPORT	"%s: TLS requirement failure : TLS support is \
236			 unavailable"
237@ MSG_TLS_STATBASE	"%s: static TLS failure: object is not part of primary \
238			 link-map list"
239@ MSG_TLS_STATSIZE	"%s: static TLS failure: object loaded after process \
240			 initialization: size (%#llx) exceeds available backup \
241			 reservation (%#llx)"
242@ MSG_TLS_STATINIT	"%s: static TLS failure: object loaded after process \
243			 initialization: can not accommodate initialized data"
244
245# Error expand()
246
247@ MSG_ERR_EXPAND1	"%s: %s: path name too long"
248@ MSG_ERR_EXPAND2	"%s: %s: token %s could not be expanded"
249
250# Specific dlinfo() messages.
251
252@ MSG_DEF_NODEPFOUND	"%s: no deferred dependency found"
253@ MSG_DEF_NOSYMFOUND	"%s: no deferred symbol found"
254@ MSG_DEF_DEPLOADED	"%s: deferred dependency is already loaded"
255
256# Error diagnostic standard prefixes.
257
258@ MSG_ERR_WARNING	"warning: "
259@ MSG_ERR_GUIDANCE	"guidance: "
260@ MSG_ERR_FATAL		"fatal: "
261@ MSG_ERR_ELF		"elf error: "
262
263@ MSG_STR_UNKNOWN	"(unknown)"
264@ MSG_STR_NULL		"(null)"
265
266# Unused errors - used by ldd.
267
268@ MSG_USD_LDLIBPATH	"   unused search path=%s  (LD_LIBRARY_PATH)\n"
269@ MSG_DUP_LDLIBPATH	"   unused (duplicate) search path=%s  \
270			 (LD_LIBRARY_PATH)\n"
271@ MSG_USD_LDLIBPATHC	"   unused search path=%s  (configuration \
272			 LD_LIBRARY_PATH - %s)\n"
273@ MSG_DUP_LDLIBPATHC	"   unused (duplicate) search path=%s  (configuration \
274			 LD_LIBRARY_PATH - %s)\n"
275@ MSG_USD_RUNPATH	"   unused search path=%s  (RUNPATH/RPATH from \
276			 file %s)\n"
277
278@ MSG_CAP_IGN_UNKCAP	"ignoring unknown capability: %s"
279
280@ _END_
281
282# The following strings represent reserved words, files, pathnames and symbols.
283# Reference to this strings is via the MSG_ORIG() macro, and thus no message
284# translation is required.
285
286@ MSG_LDD_FIL_PATH	"\t%s%s%s\n"
287@ MSG_LDD_FIL_EQUIV	"\t%s =>\t %s%s%s\n"
288@ MSG_LDD_FMT_PATH1	"%s"
289@ MSG_LDD_FMT_PATHN	":%s"
290@ MSG_LDD_INIT_FMT_FILE	"\t%s\n"
291@ MSG_LDD_VER_FOUND	"\t%s (%s) =>\t %s\n"
292
293@ MSG_STR_EMPTY		""
294@ MSG_STR_NEGATE	"-"
295@ MSG_STR_ZERO		"0"
296@ MSG_STR_HEX		"0x"
297@ MSG_STR_ELF		"ELF"
298@ MSG_STR_EMSGFOR1	"%s: %s: %s"
299@ MSG_STR_EMSGFOR2	"%s: %s"
300@ MSG_STR_HEXNUM	"0123456789abcdef"
301@ MSG_STR_NL		"\n"
302@ MSG_STR_SLASH		"/"
303@ MSG_STR_DELIMIT	": "
304@ MSG_STR_ONE		"1"
305
306@ MSG_CAP_DELIMIT	","
307
308@ MSG_SUNW_OST_SGS	"SUNW_OST_SGS"
309@ MSG_SUNW_OST_OSLIB	"SUNW_OST_OSLIB"
310
311@ MSG_TKN_CAPABILITY	"CAPABILITY"
312@ MSG_TKN_MACHINE	"MACHINE"
313@ MSG_TKN_PLATFORM	"PLATFORM"
314@ MSG_TKN_ORIGIN	"ORIGIN"
315@ MSG_TKN_ISALIST	"ISALIST"
316@ MSG_TKN_OSNAME	"OSNAME"
317@ MSG_TKN_OSREL		"OSREL"
318@ MSG_TKN_HWCAP		"HWCAP"
319@ MSG_TKN_BINDINGS	"bindings"
320@ MSG_TKN_POSIX		"POSIX"
321@ MSG_TKN_DOTDOT	".."
322
323@ MSG_FMT_CWD		"."
324@ MSG_FMT_MSGFILE	"/usr/lib/locale/%s/LC_MESSAGES/%s.mo"
325
326@ MSG_FIL_RTLD		"ld.so.1"
327@ MSG_FIL_LIBC		"libc.so.1"
328
329@ MSG_SYM_ELFERRMSG	"elf_errmsg"
330@ MSG_SYM_ELFERRNO	"elf_errno"
331@ MSG_SYM_ELFPLTTRACE	"elf_plt_trace"
332@ MSG_SYM_ENVIRON	"_environ"
333
334@ MSG_SYM_LAPREINIT	"la_preinit"
335@ MSG_SYM_LAVERSION	"la_version"
336@ MSG_SYM_LAACTIVITY	"la_activity"
337@ MSG_SYM_LAOBJSEARCH	"la_objsearch"
338@ MSG_SYM_LAOBJOPEN	"la_objopen"
339@ MSG_SYM_LAOBJFILTER	"la_objfilter"
340@ MSG_SYM_LAOBJCLOSE	"la_objclose"
341@ MSG_SYM_LADYNDATA	"la_dyndata"
342
343@ MSG_SYM_START		"_START_"
344
345@ MSG_SPECFIL_DYNPLT	"dyn_plt(ld.so.1)"
346
347@ MSG_PTH_LDPROF	"/usr/lib/link_audit/ldprof.so.1"
348@ MSG_PTH_LDPROFSE	"/usr/lib/secure/ldprof.so.1"
349@ MSG_PTH_RTLD		"/usr/lib/ld.so.1"
350@ MSG_PTH_LIB		"/lib"
351@ MSG_PTH_USRLIB	"/usr/lib"
352@ MSG_PTH_LIBSE		"/lib/secure"
353@ MSG_PTH_USRLIBSE	"/usr/lib/secure"
354@ MSG_PTH_DEVNULL	"/dev/null"
355@ MSG_PTH_CONFIG	"/var/ld/ld.config"
356@ MSG_PTH_VARTMP	"/var/tmp"
357
358@ MSG_ORG_CONFIG	"$ORIGIN/ld.config.%s"
359
360@ MSG_LD_AUDIT		"AUDIT"
361@ MSG_LD_AUDIT_ARGS	"AUDIT_ARGS"
362@ MSG_LD_BIND_LAZY	"BIND_LAZY"
363@ MSG_LD_BIND_NOW	"BIND_NOW"
364@ MSG_LD_BIND_NOT	"BIND_NOT"
365@ MSG_LD_BINDINGS	"BINDINGS"
366@ MSG_LD_CONFGEN	"CONFGEN"
367@ MSG_LD_CAP_FILES	"CAP_FILES"
368@ MSG_LD_CONFIG		"CONFIG"
369@ MSG_LD_DEBUG		"DEBUG"
370@ MSG_LD_DEBUG_OUTPUT	"DEBUG_OUTPUT"
371@ MSG_LD_DEMANGLE	"DEMANGLE"
372@ MSG_LD_FLAGS		"FLAGS"
373@ MSG_LD_HWCAP		"HWCAP"
374@ MSG_LD_INIT		"INIT"
375@ MSG_LD_LIBPATH	"LIBRARY_PATH"
376@ MSG_LD_LOADAVAIL	"LOADAVAIL"
377@ MSG_LD_LOADFLTR	"LOADFLTR"
378@ MSG_LD_MACHCAP	"MACHCAP"
379@ MSG_LD_NOAUDIT	"NOAUDIT"
380@ MSG_LD_NOAUXFLTR	"NOAUXFLTR"
381@ MSG_LD_NOBAPLT	"NOBAPLT"
382@ MSG_LD_NOCONFIG	"NOCONFIG"
383@ MSG_LD_NODIRCONFIG	"NODIRCONFIG"
384@ MSG_LD_NODIRECT	"NODIRECT"
385@ MSG_LD_NOENVCONFIG	"NOENVCONFIG"
386@ MSG_LD_NOENVIRON	"NOENVIRON"
387@ MSG_LD_NOFLTCONFIG	"NOFLTCONFIG"
388@ MSG_LD_NOLAZY		"NOLAZYLOAD"
389@ MSG_LD_NOOBJALTER	"NOOBJALTER"
390@ MSG_LD_NOPAREXT	"NOPAREXT"
391@ MSG_LD_NOUNRESWEAK	"NOUNRESWEAK"
392@ MSG_LD_NOVERSION	"NOVERSION"
393@ MSG_LD_PLATCAP	"PLATCAP"
394@ MSG_LD_PRELOAD	"PRELOAD"
395@ MSG_LD_PROFILE	"PROFILE"
396@ MSG_LD_PROFILE_OUTPUT	"PROFILE_OUTPUT"
397@ MSG_LD_SFCAP		"SFCAP"
398@ MSG_LD_SIGNAL		"SIGNAL"
399@ MSG_LD_TRACE_OBJS	"TRACE_LOADED_OBJECTS"
400@ MSG_LD_TRACE_OBJS_E	"TRACE_LOADED_OBJECTS_E"
401@ MSG_LD_TRACE_OBJS_A	"TRACE_LOADED_OBJECTS_A"
402@ MSG_LD_TRACE_PTHS	"TRACE_SEARCH_PATHS"
403@ MSG_LD_UNREF		"UNREF"
404@ MSG_LD_UNUSED		"UNUSED"
405@ MSG_LD_VERBOSE	"VERBOSE"
406@ MSG_LD_DEFERRED	"DEFERRED"
407@ MSG_LD_WARN		"WARN"
408
409@ MSG_LD_BRAND_PREFIX	"BRAND_"
410
411@ MSG_LC_ALL		"ALL="
412@ MSG_LC_MESSAGES	"MESSAGES="
413
414@ MSG_EMG_ENOMEM	"internal: Not enough space"
415
416@ MSG_DBG_PID		"%5.5d: "
417@ MSG_DBG_RESET		"---------\n"
418@ MSG_DBG_UNDEF		"debug: "
419@ MSG_DBG_LMID		"%s: "
420@ MSG_DBG_THREAD	"%d: "
421@ MSG_DBG_FILE		"%s.%5.5d"
422
423@ MSG_LMID_BASE		"BASE"
424@ MSG_LMID_LDSO		"LDSO"
425@ MSG_LMID_ALT		"ALT"
426
427@ MSG_LMID_FMT		"%s%d"
428@ MSG_LMID_MAXED	"ALTMAXEDOUT"
429