1d29b2c44Sab196087#
2d29b2c44Sab196087# CDDL HEADER START
3d29b2c44Sab196087#
4d29b2c44Sab196087# The contents of this file are subject to the terms of the
5d29b2c44Sab196087# Common Development and Distribution License (the "License").
6d29b2c44Sab196087# You may not use this file except in compliance with the License.
7d29b2c44Sab196087#
8d29b2c44Sab196087# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9d29b2c44Sab196087# or http://www.opensolaris.org/os/licensing.
10d29b2c44Sab196087# See the License for the specific language governing permissions
11d29b2c44Sab196087# and limitations under the License.
12d29b2c44Sab196087#
13d29b2c44Sab196087# When distributing Covered Code, include this CDDL HEADER in each
14d29b2c44Sab196087# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15d29b2c44Sab196087# If applicable, add the following below this CDDL HEADER, with the
16d29b2c44Sab196087# fields enclosed by brackets "[]" replaced with your own identifying
17d29b2c44Sab196087# information: Portions Copyright [yyyy] [name of copyright owner]
18d29b2c44Sab196087#
19d29b2c44Sab196087# CDDL HEADER END
20d29b2c44Sab196087#
21d29b2c44Sab196087
22d29b2c44Sab196087#
23*08278a5eSRod Evans# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
24d29b2c44Sab196087# Use is subject to license terms.
25d29b2c44Sab196087#
26d29b2c44Sab196087
27d29b2c44Sab196087@ _START_
28d29b2c44Sab196087
29d29b2c44Sab196087# Message file for elfedit 'cap' module
30d29b2c44Sab196087
31d29b2c44Sab196087@ MSG_ID_ELFEDIT_CAP
32d29b2c44Sab196087
33d29b2c44Sab196087
34d29b2c44Sab196087# Debug messages
35d29b2c44Sab196087
36d29b2c44Sab196087@ MSG_DEBUG_S_OK	"[%d: %s][%d]: value unchanged: %s\n"
37d29b2c44Sab196087@ MSG_DEBUG_S_CHG	"[%d: %s][%d]: change from %s to %s\n"
38d29b2c44Sab196087@ MSG_DEBUG_BSB_OK	"[%d: %s][%d]: value unchanged: [%s]\n"
39d29b2c44Sab196087@ MSG_DEBUG_BSB_CHG	"[%d: %s][%d]: change from [%s] to [%s]\n"
40d29b2c44Sab196087@ MSG_DEBUG_X_OK	"[%d: %s][%d]: value unchanged: %#llx\n"
41d29b2c44Sab196087@ MSG_DEBUG_X_CHG	"[%d: %s][%d]: change from %#llx to %#llx\n"
42*08278a5eSRod Evans@ MSG_DEBUG_CA2NDX	"[%d: %s][%d]: capability entry for tag: %s\n"
43*08278a5eSRod Evans@ MSG_DEBUG_CAPGRP	"[%d: %s][%u-%u: %s]: capability group\n"
44*08278a5eSRod Evans@ MSG_DEBUG_CONVNULL	"[%d: %s][%d]: no existing %s to modify, converting \
45*08278a5eSRod Evans			 extra CA_SUNW_NULL\n"
46d29b2c44Sab196087
47d29b2c44Sab196087# Errors
48d29b2c44Sab196087
49*08278a5eSRod Evans@ MSG_ERR_NOCAELT	"[%d: %s][%u-%u: %s]: capabilities group does not \
50*08278a5eSRod Evans			 contain tag: %s\n"
51*08278a5eSRod Evans@ MSG_ERR_NOSTRTAB	"[%d: %s]: capabilities section does not have an \
52*08278a5eSRod Evans			 associated string table\n"
53*08278a5eSRod Evans@ MSG_ERR_BADCAPID	"[%d: %s]: capabilities section does not contain \
54*08278a5eSRod Evans			 specified id: %s\n"
55*08278a5eSRod Evans@ MSG_ERR_GRPARRBNDS	"%s[%u-%u: %s]: attempt to access elements outside \
56*08278a5eSRod Evans			 of capabilities group\n"
57d29b2c44Sab196087
58d29b2c44Sab196087# Module description
59d29b2c44Sab196087
60d29b2c44Sab196087@ MSG_MOD_DESC		"Capabilities Section"
61d29b2c44Sab196087
62*08278a5eSRod Evans# Strings
63*08278a5eSRod Evans@ MSG_STR_OBJECT	"<object>"
64*08278a5eSRod Evans@ MSG_STR_NONAME	"<noname>"
65d29b2c44Sab196087
66*08278a5eSRod Evans# Format strings
67*08278a5eSRod Evans@ MSG_FMT_CAPGRP	"   Group[%u-%u]: %s\n"
68d29b2c44Sab196087
69d29b2c44Sab196087# 1-line description strings
70d29b2c44Sab196087
71d29b2c44Sab196087@ MSG_DESC_DUMP		"Dump Capabilities Section"
72d29b2c44Sab196087@ MSG_DESC_TAG		"Change element tag"
73d29b2c44Sab196087@ MSG_DESC_VALUE	"Change element value"
74d29b2c44Sab196087@ MSG_DESC_DELETE	"Delete elements"
75d29b2c44Sab196087@ MSG_DESC_MOVE		"Move elements"
76*08278a5eSRod Evans@ MSG_DESC_HW1		"Hardware capabilities (CA_SUNW_HW_1) bit values"
77*08278a5eSRod Evans@ MSG_DESC_SF1		"Software capabilities (CA_SUNW_SF_1) bit values"
78*08278a5eSRod Evans@ MSG_DESC_HW2		"Hardware capabilities (CA_SUNW_HW_2) bit values"
79d29b2c44Sab196087
80d29b2c44Sab196087
81*08278a5eSRod Evans# Command option description strings
82d29b2c44Sab196087
83d29b2c44Sab196087@ MSG_OPTDESC_CAPNDX		"\
84d29b2c44Sab196087   Interpret the elt argument as a direct index into the\n\
85d29b2c44Sab196087   capabilities section, rather than as a CA_ tag value.\n"
86d29b2c44Sab196087
87*08278a5eSRod Evans@ MSG_OPTDESC_CAPID		"\
88*08278a5eSRod Evans   Restrict the elt argument to the capability elements belonging\n\
89*08278a5eSRod Evans   to the capabilities group with a CA_SUNW_ID entry matching the\n\
90*08278a5eSRod Evans   specified id name.\n"
91*08278a5eSRod Evans
92*08278a5eSRod Evans@ MSG_OPTDESC_S		"\
93*08278a5eSRod Evans   Interpret the value argument as a string rather than an\n\
94*08278a5eSRod Evans   integer. If the specified string already exists in the\n\
95*08278a5eSRod Evans   string table, the offset of that string is stored in the\n\
96*08278a5eSRod Evans   capability entry. If the string does not exist in the string\n\
97*08278a5eSRod Evans   table, but there is room to add it, the new string is added\n\
98*08278a5eSRod Evans   and then the offset is placed in the capability entry.\n"
99*08278a5eSRod Evans
100d29b2c44Sab196087
101d29b2c44Sab196087# Command argument description strings
102d29b2c44Sab196087
103d29b2c44Sab196087@ MSG_A1_TAG_ELT	"\
104d29b2c44Sab196087   Capabilities element to be examined or changed. By default,\n\
105d29b2c44Sab196087   this is a CA_ tag value. The index of the first element\n\
106d29b2c44Sab196087   in the capabilities section that has the specified tag value\n\
107d29b2c44Sab196087   will be used. The value specified can be one of the well known\n\
108d29b2c44Sab196087   CA_ constants, or any integer.\n\
109d29b2c44Sab196087   \n\
110d29b2c44Sab196087   If the -capndx option is specified, elt is instead interpreted\n\
111d29b2c44Sab196087   as a simple integer index into the capabilities section.\n"
112d29b2c44Sab196087
113d29b2c44Sab196087@ MSG_A2_TAG_VALUE	"\
114d29b2c44Sab196087   Value to be set for c_tag field of specified capabilities\n\
115d29b2c44Sab196087   element. Tag values can be specified using the well known\n\
116d29b2c44Sab196087   CA_ symbolic constants from /usr/include/sys/elf.h, or\n\
117d29b2c44Sab196087   as integers.\n"
118d29b2c44Sab196087
119d29b2c44Sab196087@ MSG_ARGDESC_ELT	"\
120d29b2c44Sab196087   Element within capabilities section. By default, this is a\n\
121d29b2c44Sab196087   tag value. In this case, the index of the first capabilities\n\
122d29b2c44Sab196087   element with the specified tag value will be used. Tag values\n\
123d29b2c44Sab196087   can be specified using the well known CA_ symbolic constants\n\
124d29b2c44Sab196087   from /usr/include/sys/elf.h, or as integers. If the -capndx\n\
125d29b2c44Sab196087   option is specified, then elt is instead interpreted as a\n\
126*08278a5eSRod Evans   direct numeric index into the capabilities section. If the\n\
127*08278a5eSRod Evans   -capid option is specified, the search is limited to elements\n\
128*08278a5eSRod Evans   within the named capabilities group.\n"
129d29b2c44Sab196087
130d29b2c44Sab196087@ MSG_A2_VALUE_VALUE	"\
131d29b2c44Sab196087   Value to set for specified capabilities section element.\n\
132d29b2c44Sab196087   This is a numeric value which is used directly.\n"
133d29b2c44Sab196087
134d29b2c44Sab196087@ MSG_A2_DELETE_COUNT	"\
135d29b2c44Sab196087   Number of capabilities elements to delete, starting at the\n\
136d29b2c44Sab196087   specified position. This value cannot exceed the number\n\
137*08278a5eSRod Evans   of slots remaining in the capabilities group below the specified\n\
138*08278a5eSRod Evans   position. If count is not supplied, a single element is deleted.\n"
139d29b2c44Sab196087
140d29b2c44Sab196087@ MSG_A2_MOVE_DST_INDEX	"\
141d29b2c44Sab196087   Numeric index within capabilities section to which the element(s)\n\
142*08278a5eSRod Evans   should be moved. The destination index must lie within the same\n\
143*08278a5eSRod Evans   capabilities group as elt.\n"
144d29b2c44Sab196087
145d29b2c44Sab196087@ MSG_A3_MOVE_COUNT	"\
146d29b2c44Sab196087   Number of capabilities elements to move. This value cannot\n\
147*08278a5eSRod Evans   exceed the number of slots remaining in the capabilities group\n\
148*08278a5eSRod Evans   below the specified position. If count is not supplied, a\n\
149d29b2c44Sab196087   single element is moved.\n"
150d29b2c44Sab196087
151d29b2c44Sab196087@ MSG_A1_HW1_VALUE	"\
152*08278a5eSRod Evans   Hardware capability (CA_SUNW_HW_1) values. This can be an integer\n\
153*08278a5eSRod Evans   value, any of the AV_386_ symbolic constants defined in\n\
154d29b2c44Sab196087   /usr/include/sys/auxv_386.h, or the AV_SPARC symbolic\n\
155*08278a5eSRod Evans   constants defined in /usr/include/sys/auxv_SPARC.h.\n"
156d29b2c44Sab196087
157d29b2c44Sab196087@ MSG_A1_SF1_VALUE	"\
158*08278a5eSRod Evans   Software capability (CA_SUNW_SF_1) values. This can be an integer\n\
159*08278a5eSRod Evans   value, any of the SF1_SUNW_ symbolic constants defined in\n\
160*08278a5eSRod Evans   /usr/include/sys/elf.h.\n"
161d29b2c44Sab196087
162*08278a5eSRod Evans@ MSG_A1_HW2_VALUE	"\
163*08278a5eSRod Evans   Hardware capability (CA_SUNW_HW_2) values. This is available for\n\
164*08278a5eSRod Evans   future expansion.\n"
165d29b2c44Sab196087
166d29b2c44Sab196087
167d29b2c44Sab196087# Help strings
168d29b2c44Sab196087
169d29b2c44Sab196087@ MSG_HELP_DUMP	"   \
170d29b2c44Sab196087   The cap:dump command is used to display the contents of the\n\
171d29b2c44Sab196087   capabilities section using the same style used by the elfdump\n\
172d29b2c44Sab196087   program.\n"
173d29b2c44Sab196087
174d29b2c44Sab196087@ MSG_HELP_TAG	"   \
175d29b2c44Sab196087   The cap:tag command is used to display or alter the\n\
176d29b2c44Sab196087   type of an element in the capabilities section. This information\n\
177d29b2c44Sab196087   is found in the c_tag field of a capabilities element.\n\
178d29b2c44Sab196087   \n\
179d29b2c44Sab196087   If cap:tag is called without arguments, the value of c_tag\n\
180d29b2c44Sab196087   for every element in the capabilities section is shown. If called\n\
181d29b2c44Sab196087   with the elt argument, the specified elements are displayed.\n\
182d29b2c44Sab196087   If both arguments are present, the c_tag field of the specified\n\
183d29b2c44Sab196087   capabilities element is set to the given value.\n"
184d29b2c44Sab196087
185d29b2c44Sab196087@ MSG_HELP_VALUE	"   \
186d29b2c44Sab196087   The cap:value command is used to display or alter the\n\
187d29b2c44Sab196087   value of an element in the capabilities section. The value\n\
188d29b2c44Sab196087   of a capabilities element is found in the c_un union of the\n\
189d29b2c44Sab196087   element.\n\
190d29b2c44Sab196087   \n\
191d29b2c44Sab196087   If cap:value is called without arguments, the value of every\n\
192d29b2c44Sab196087   element in the capabilities section is shown. If called with the\n\
193d29b2c44Sab196087   elt argument, the value of the specified elements are displayed.\n\
194d29b2c44Sab196087   If both arguments are present, the value of the specified\n\
195d29b2c44Sab196087   capabilities element is set to the given value.\n"
196d29b2c44Sab196087
197d29b2c44Sab196087@ MSG_HELP_DELETE	"   \
198d29b2c44Sab196087   The cap:delete command is used to delete one or more elements\n\
199*08278a5eSRod Evans   from a capabilities group within the capabilities section. The\n\
200*08278a5eSRod Evans   elements following the deleted items move up, and new CA_NULL\n\
201*08278a5eSRod Evans   elements are inserted at the end of the capabilities group to\n\
202*08278a5eSRod Evans   fill the vacated space.\n"
203d29b2c44Sab196087
204d29b2c44Sab196087@ MSG_HELP_MOVE	"   \
205d29b2c44Sab196087   The cap:move command is used to move the position of one\n\
206*08278a5eSRod Evans   or more elements in a capabilities group within in the\n\
207*08278a5eSRod Evans   capabilities section. The specified number of elements are\n\
208*08278a5eSRod Evans   moved from elt to dst_index.\n"
209d29b2c44Sab196087
210d29b2c44Sab196087@ MSG_HELP_HW1	"   \
211d29b2c44Sab196087   The cap:hw1 command is used to display or alter the\n\
212d29b2c44Sab196087   value of the hardware capabilities element (CA_SUNW_HW_1).\n\
213d29b2c44Sab196087   \n\
214d29b2c44Sab196087   If cap:hw1 is called without arguments, the current\n\
215d29b2c44Sab196087   value is shown. If one or more value arguments are present,\n\
216d29b2c44Sab196087   the following steps are taken:\n\
217d29b2c44Sab196087   \n   \
218d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
219d29b2c44Sab196087   \n   \
220d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
221d29b2c44Sab196087   \tis complemented.\n\
222d29b2c44Sab196087   \n   \
223d29b2c44Sab196087   o\tThe CA_SUNW_HW_1 element of the capabilities section is\n\
224d29b2c44Sab196087   \tupdated with the new value. If -and is specified, the new\n\
225d29b2c44Sab196087   \tvalue is AND'd against the existing value. If -or is\n\
226d29b2c44Sab196087   \tspecified, the new value is OR'd against the existing\n\
227d29b2c44Sab196087   \tvalue. If neither -and or -or are specified, the new value\n\
228d29b2c44Sab196087   \treplaces the existing value.\n"
229d29b2c44Sab196087
230d29b2c44Sab196087@ MSG_HELP_SF1	"   \
231d29b2c44Sab196087   The cap:sf1 command is used to display or alter the\n\
232d29b2c44Sab196087   value of the software capabilities element (CA_SUNW_SF_1).\n\
233d29b2c44Sab196087   \n\
234d29b2c44Sab196087   If cap:sf1 is called without arguments, the current\n\
235d29b2c44Sab196087   value is shown. If one or more value arguments are present,\n\
236d29b2c44Sab196087   the following steps are taken:\n\
237d29b2c44Sab196087   \n   \
238d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
239d29b2c44Sab196087   \n   \
240d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
241d29b2c44Sab196087   \tis complemented.\n\
242d29b2c44Sab196087   \n   \
243d29b2c44Sab196087   o\tThe CA_SUNW_SF_1 element of the capabilities section is\n\
244d29b2c44Sab196087   \tupdated with the new value. If -and is specified, the new\n\
245d29b2c44Sab196087   \tvalue is AND'd against the existing value. If -or is\n\
246d29b2c44Sab196087   \tspecified, the new value is OR'd against the existing\n\
247d29b2c44Sab196087   \tvalue. If neither -and or -or are specified, the new value\n\
248d29b2c44Sab196087   replaces the existing value.\n"
249d29b2c44Sab196087
250*08278a5eSRod Evans@ MSG_HELP_HW2	"   \
251*08278a5eSRod Evans   The cap:hw2 command is used to display or alter the\n\
252*08278a5eSRod Evans   value of the hardware capabilities element (CA_SUNW_HW_2).\n\
253*08278a5eSRod Evans   \n\
254*08278a5eSRod Evans   If cap:hw2 is called without arguments, the current\n\
255*08278a5eSRod Evans   value is shown. If one or more value arguments are present,\n\
256*08278a5eSRod Evans   the following steps are taken:\n\
257*08278a5eSRod Evans   \n   \
258*08278a5eSRod Evans   o\tAll the value arguments are OR'd together.\n\
259*08278a5eSRod Evans   \n   \
260*08278a5eSRod Evans   o\tIf the -cmp option has been specified, the new value\n\
261*08278a5eSRod Evans   \tis complemented.\n\
262*08278a5eSRod Evans   \n   \
263*08278a5eSRod Evans   o\tThe CA_SUNW_HW_2 element of the capabilities section is\n\
264*08278a5eSRod Evans   \tupdated with the new value. If -and is specified, the new\n\
265*08278a5eSRod Evans   \tvalue is AND'd against the existing value. If -or is\n\
266*08278a5eSRod Evans   \tspecified, the new value is OR'd against the existing\n\
267*08278a5eSRod Evans   \tvalue. If neither -and or -or are specified, the new value\n\
268*08278a5eSRod Evans   \treplaces the existing value.\n"
269d29b2c44Sab196087@ _END_
270d29b2c44Sab196087
271d29b2c44Sab196087
272d29b2c44Sab196087# The following strings represent reserved words, files, pathnames and symbols.
273d29b2c44Sab196087# Reference to this strings is via the MSG_ORIG() macro, and thus no message
274d29b2c44Sab196087# translation is required.
275d29b2c44Sab196087
276d29b2c44Sab196087
277d29b2c44Sab196087# Strings
278d29b2c44Sab196087@ MSG_STR_EMPTY		""
279d29b2c44Sab196087@ MSG_STR_COUNT		"count"
280d29b2c44Sab196087@ MSG_STR_ELT		"elt"
281d29b2c44Sab196087@ MSG_STR_DST_INDEX	"dst_index"
282*08278a5eSRod Evans@ MSG_STR_MINUS_CAPID	"-capid"
283d29b2c44Sab196087@ MSG_STR_MINUS_CAPNDX	"-capndx"
284*08278a5eSRod Evans@ MSG_STR_MINUS_S	"-s"
285d29b2c44Sab196087@ MSG_STR_VALUE		"value"
286*08278a5eSRod Evans@ MSG_STR_IDNAME	"id_name"
287d29b2c44Sab196087
288d29b2c44Sab196087# Format strings
289d29b2c44Sab196087@ MSG_FMT_STRNL		"%s\n"
290d29b2c44Sab196087@ MSG_FMT_HEXXWORDNL	"%#llx\n"
291*08278a5eSRod Evans@ MSG_FMT_WORDVALNL	"%u\n"
292d29b2c44Sab196087
293d29b2c44Sab196087
294d29b2c44Sab196087# Module name
295d29b2c44Sab196087
296d29b2c44Sab196087@ MSG_MOD_NAME		"cap"
297d29b2c44Sab196087
298d29b2c44Sab196087
299d29b2c44Sab196087# Command names
300d29b2c44Sab196087
301d29b2c44Sab196087@ MSG_CMD_DUMP		"dump"
302d29b2c44Sab196087@ MSG_CMD_TAG		"tag"
303d29b2c44Sab196087@ MSG_CMD_VALUE		"value"
304d29b2c44Sab196087@ MSG_CMD_DELETE	"delete"
305d29b2c44Sab196087@ MSG_CMD_MOVE		"move"
306d29b2c44Sab196087@ MSG_CMD_HW1		"hw1"
307d29b2c44Sab196087@ MSG_CMD_SF1		"sf1"
308*08278a5eSRod Evans@ MSG_CMD_HW2		"hw2"
309