1d29b2c44Sab#
2d29b2c44Sab# CDDL HEADER START
3d29b2c44Sab#
4d29b2c44Sab# The contents of this file are subject to the terms of the
5d29b2c44Sab# Common Development and Distribution License (the "License").
6d29b2c44Sab# You may not use this file except in compliance with the License.
7d29b2c44Sab#
8d29b2c44Sab# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9d29b2c44Sab# or http://www.opensolaris.org/os/licensing.
10d29b2c44Sab# See the License for the specific language governing permissions
11d29b2c44Sab# and limitations under the License.
12d29b2c44Sab#
13d29b2c44Sab# When distributing Covered Code, include this CDDL HEADER in each
14d29b2c44Sab# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15d29b2c44Sab# If applicable, add the following below this CDDL HEADER, with the
16d29b2c44Sab# fields enclosed by brackets "[]" replaced with your own identifying
17d29b2c44Sab# information: Portions Copyright [yyyy] [name of copyright owner]
18d29b2c44Sab#
19d29b2c44Sab# CDDL HEADER END
20d29b2c44Sab#
21d29b2c44Sab
22d29b2c44Sab#
23*cce0e03bSab# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24d29b2c44Sab# Use is subject to license terms.
25d29b2c44Sab#
26d29b2c44Sab# ident	"%Z%%M%	%I%	%E% SMI"
27d29b2c44Sab
28d29b2c44Sab@ _START_
29d29b2c44Sab
30d29b2c44Sab# Message file for elfedit 'shdr' module
31d29b2c44Sab
32d29b2c44Sab@ MSG_ID_ELFEDIT_SHDR
33d29b2c44Sab
34d29b2c44Sab
35d29b2c44Sab# Section header format
36d29b2c44Sab@ MSG_ELF_SHDR		"Section Header[%d]:  sh_name: %s\n"
37d29b2c44Sab
38d29b2c44Sab# Debug messages
39d29b2c44Sab
40d29b2c44Sab@ MSG_DEBUG_S_OK	"shdr[%d: %s].%s: value unchanged: %s\n"
41d29b2c44Sab@ MSG_DEBUG_S_CHG	"shdr[%d: %s].%s: change from %s to %s\n"
42d29b2c44Sab@ MSG_DEBUG_LLX_OK	"shdr[%d: %s].%s: value unchanged: %#llx\n"
43d29b2c44Sab@ MSG_DEBUG_LLX_CHG	"shdr[%d: %s].%s: change from %#llx to %#llx\n"
44d29b2c44Sab@ MSG_DEBUG_D_OK	"shdr[%d: %s].%s: value unchanged: %d\n"
45d29b2c44Sab@ MSG_DEBUG_D_CHG	"shdr[%d: %s].%s: change from %d to %d\n"
46d29b2c44Sab@ MSG_DEBUG_CHGSHDR0	"ELF warning: Unexpected direct change to \
47d29b2c44Sab			 section header [0]: Header [0] is used for \
48d29b2c44Sab			 extended section and program headers by the ehdr \
49d29b2c44Sab			 module, and should otherwise be completely zero\n"
50d29b2c44Sab@ MSG_DEBUG_ADDRALIGN	"ELF warning: sh_addralign value is expected to \
51d29b2c44Sab			 be 0, 1, or a power of 2: %s\n"
52d29b2c44Sab
53d29b2c44Sab
54d29b2c44Sab# Module description
55d29b2c44Sab
56d29b2c44Sab@ MSG_MOD_DESC		"Section Header Array"
57d29b2c44Sab
58d29b2c44Sab
59d29b2c44Sab# 1-line description strings
60d29b2c44Sab
61d29b2c44Sab@ MSG_DESC_DUMP		"Dump Section Headers"
62d29b2c44Sab
63d29b2c44Sab@ MSG_DESC_SH_ADDR	"Section memory address"
64d29b2c44Sab@ MSG_DESC_SH_ADDRALIGN	"Section address alignment"
65d29b2c44Sab@ MSG_DESC_SH_ENTSIZE	"Section per-item size"
66d29b2c44Sab@ MSG_DESC_SH_FLAGS	"Section flags"
67d29b2c44Sab@ MSG_DESC_SH_INFO	"Section info"
68d29b2c44Sab@ MSG_DESC_SH_LINK	"Section link"
69d29b2c44Sab@ MSG_DESC_SH_NAME	"Section name"
70d29b2c44Sab@ MSG_DESC_SH_OFFSET	"Section file offset"
71d29b2c44Sab@ MSG_DESC_SH_SIZE	"Section size (bytes)"
72d29b2c44Sab@ MSG_DESC_SH_TYPE	"Section type"
73d29b2c44Sab
74d29b2c44Sab
75d29b2c44Sab# Command option description strings
76d29b2c44Sab
77d29b2c44Sab@ MSG_OPTDESC_SHNDX	"\
78d29b2c44Sab   Interpret the sec argument as a section index rather than\n\
79d29b2c44Sab   as a section name. section can be one of the well known SHN_\n\
80d29b2c44Sab   symbolic constants, or any integer.\n"
81d29b2c44Sab
82d29b2c44Sab@ MSG_OPTDESC_SHTYP	"\
83d29b2c44Sab   Interpret the sec argument as a section type rather than\n\
84d29b2c44Sab   as a section name. section can be one of the well known SHT_\n\
85d29b2c44Sab   symbolic constants, or any integer.\n"
86d29b2c44Sab
87d29b2c44Sab@ MSG_OPTDESC_NAME_OFFSET	"\
88d29b2c44Sab   Interpret the name argument as a string table offset rather\n\
89d29b2c44Sab   than as a string.\n"
90d29b2c44Sab
91*cce0e03bSab@ MSG_OPTDESC_VALUE_SHNAM	"\
92*cce0e03bSab   Interpret the value argument as a section name rather than\n\
93*cce0e03bSab   as an integer. The index of the first section with the\n\
94*cce0e03bSab   specified name will be used as the value.\n"
95*cce0e03bSab
96*cce0e03bSab@ MSG_OPTDESC_VALUE_SHTYP	"\
97*cce0e03bSab   Interpret the value argument as a section type rather than\n\
98*cce0e03bSab   as an integer. The index of the first section of the specified\n\
99*cce0e03bSab   type will be used as the value. value can be one of the well\n\
100*cce0e03bSab   known SHT_ symbolic constants, or any integer.\n"
101*cce0e03bSab
102d29b2c44Sab
103d29b2c44Sab# Command argument descriptions
104d29b2c44Sab
105d29b2c44Sab@ MSG_A1_SEC	"\
106d29b2c44Sab   Section to examine or modify. By default, this argument is\n\
107d29b2c44Sab   interpreted as the name of the desired section. The section\n\
108d29b2c44Sab   index of the first section with the specified name is used.\n\
109d29b2c44Sab   \n\
110d29b2c44Sab   If -shndx is set, then sec is a section index, and is\n\
111d29b2c44Sab   interpreted as an integer, or one of the well known SHN_\n\
112d29b2c44Sab   symbolic constant names.\n\
113d29b2c44Sab   \n\
114d29b2c44Sab   If -shtyp is set, then sec is a section type, and is\n\
115d29b2c44Sab   interpreted as an integer, or one of the well known SHT_\n\
116d29b2c44Sab   symbolic constant names. The section index of the first\n\
117d29b2c44Sab   section with the specified type is used.\n"
118d29b2c44Sab
119d29b2c44Sab@ MSG_A2_DESC_SH_ADDR	"Integer value to set for section address.\n"
120d29b2c44Sab
121d29b2c44Sab@ MSG_A2_DESC_SH_ADDRALIGN "\
122d29b2c44Sab   Integer value to set for section alignment.\n"
123d29b2c44Sab
124d29b2c44Sab@ MSG_A2_DESC_SH_ENTSIZE "\
125d29b2c44Sab   Integer value to set for size of an individual element in\n\
126d29b2c44Sab   a section of fixed-size entries.\n"
127d29b2c44Sab
128d29b2c44Sab@ MSG_A2_DESC_SH_FLAGS "\
129d29b2c44Sab   Section flags. SHF_ flag constants are accepted, as is\n\
130d29b2c44Sab   any integer.\n"
131d29b2c44Sab
132d29b2c44Sab@ MSG_A2_DESC_SH_INFO	"\
133d29b2c44Sab   Integer value to set for symbol sh_info field. The meaning\n\
134d29b2c44Sab   of this value depends on the type of the section.\n"
135d29b2c44Sab
136d29b2c44Sab@ MSG_A2_DESC_SH_LINK	"\
137d29b2c44Sab   Integer value to set for symbol sh_link field. The meaning\n\
138d29b2c44Sab   of this value depends on the type of the section.\n"
139d29b2c44Sab
140d29b2c44Sab@ MSG_A2_DESC_SH_NAME	"\
141d29b2c44Sab   Name to set for section. If the -name_offset option is\n\
142d29b2c44Sab   used, this is an integer offset into the section header\n\
143d29b2c44Sab   string table. Otherwise, it is a string, which will be\n\
144d29b2c44Sab   looked up in the symbol table in order to obtain the needed\n\
145d29b2c44Sab    offset value.\n"
146d29b2c44Sab
147d29b2c44Sab@ MSG_A2_DESC_SH_OFFSET	"\
148d29b2c44Sab   Integer value to set for symbol sh_offset field. The value\n\
149d29b2c44Sab   of sh_offset gives the byte offset from the beginning of\n\
150d29b2c44Sab   the file to the first byte in the section. For SHT_NOBITS\n\
151d29b2c44Sab   sections, this member indicates the conceptual offset in the\n\
152d29b2c44Sab   file, as the section occupies no space in the file.\n"
153d29b2c44Sab
154d29b2c44Sab@ MSG_A2_DESC_SH_SIZE	"\
155d29b2c44Sab   Integer value to set for size of section, in bytes. Unless the\n\
156d29b2c44Sab   section type is SHT_NOBITS, the section occupies sh_size bytes\n\
157d29b2c44Sab   in the file. A section of type SHT_NOBITS can have a nonzero\n\
158d29b2c44Sab   size, but the section occupies no space in the file.\n"
159d29b2c44Sab
160d29b2c44Sab@ MSG_A2_DESC_SH_TYPE	"\
161d29b2c44Sab   Value to set for section type. The value can be an integer,\n\
162d29b2c44Sab   or one of the well known SHT_ symbolic constant names.\n"
163d29b2c44Sab
164d29b2c44Sab
165d29b2c44Sab
166d29b2c44Sab# Help strings
167d29b2c44Sab
168d29b2c44Sab@ MSG_HELP_DUMP	"   \
169d29b2c44Sab   The shdr:dump command is used to display section header\n\
170d29b2c44Sab    information using the same style used by the elfdump program.\n\
171d29b2c44Sab   \n\
172d29b2c44Sab   If shdr:dump is called without arguments, information for every\n\
173d29b2c44Sab   section header in the object is shown. If called with the shndx\n\
174d29b2c44Sab   argument, the section header at that index is displayed.\n"
175d29b2c44Sab
176d29b2c44Sab@ MSG_HELP_SH_ADDR	"   \
177d29b2c44Sab   The shdr:sh_addr command is used to display or alter the\n\
178d29b2c44Sab   starting virtual memory address of the section.\n\
179d29b2c44Sab   \n\
180d29b2c44Sab   If the section appears in the memory image of a process,\n\
181d29b2c44Sab   this member gives the address at which the sections's\n\
182d29b2c44Sab   first byte should reside. Otherwise, the member is expected\n\
183d29b2c44Sab   to contain the value zero.\n\
184d29b2c44Sab   \n\
185d29b2c44Sab   If shdr:sh_addr is called without arguments, the value of\n\
186d29b2c44Sab   sh_addr for every section in the section header array is\n\
187d29b2c44Sab   shown. If called with the shndx argument, the value of the\n\
188d29b2c44Sab   section at that index is displayed. If both arguments are\n\
189d29b2c44Sab   present, the sh_addr field of the section at the specified\n\
190d29b2c44Sab   index is set to the given value.\n"
191d29b2c44Sab
192d29b2c44Sab@ MSG_HELP_SH_ADDRALIGN	"   \
193d29b2c44Sab   The shdr:sh_addralign command is used to display or alter the\n\
194d29b2c44Sab   alignment constraint for the section.\n\
195d29b2c44Sab   \n\
196d29b2c44Sab   Some sections have address alignment constraints. For example,\n\
197d29b2c44Sab   if a section holds a double-word, the system must ensure\n\
198d29b2c44Sab   double-word alignment for the entire section. In this case,\n\
199d29b2c44Sab   the value of sh_addr must be congruent to 0, modulo the value\n\
200d29b2c44Sab   of sh_addralign. Currently, only 0 and positive integral\n\
201d29b2c44Sab   powers of 2 are used in Solaris ELF files. Values 0 and 1\n\
202d29b2c44Sab   mean the section has no alignment constraints.\n\
203d29b2c44Sab   \n\
204d29b2c44Sab   If shdr:sh_addralign is called without arguments, the value\n\
205d29b2c44Sab   of sh_addralign for every section in the section header array\n\
206d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
207d29b2c44Sab   section at that index is displayed. If both arguments are\n\
208d29b2c44Sab   present, the sh_addralign field of the section at the specified\n\
209d29b2c44Sab   index is set to the given value.\n"
210d29b2c44Sab
211d29b2c44Sab@ MSG_HELP_SH_ENTSIZE	"   \
212d29b2c44Sab   The shdr:sh_entsize command is used to display or alter the\n\
213d29b2c44Sab   per-item entry size for the section.\n\
214d29b2c44Sab   \n\
215d29b2c44Sab   Some sections hold a table of fixed-size entries, such as a\n\
216d29b2c44Sab   symbol table. For such a section, this member gives the size\n\
217d29b2c44Sab   in bytes of each entry. By convention, the member is set to\n\
218d29b2c44Sab   the value zero if the section does not hold a table of\n\
219d29b2c44Sab   fixed-size entries.\n\
220d29b2c44Sab   \n\
221d29b2c44Sab   If shdr:sh_entsize is called without arguments, the value\n\
222d29b2c44Sab   of sh_entsize for every section in the section header array\n\
223d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
224d29b2c44Sab   section at that index is displayed. If both arguments are\n\
225d29b2c44Sab   present, the sh_entsize field of the section at the specified\n\
226d29b2c44Sab   index is set to the given value.\n"
227d29b2c44Sab
228d29b2c44Sab@ MSG_HELP_SH_FLAGS	"   \
229d29b2c44Sab   The shdr:sh_flags command is used to display or alter the\n\
230d29b2c44Sab   flags that are associated with the section.\n\
231d29b2c44Sab   \n\
232d29b2c44Sab   \n\
233d29b2c44Sab   If shdr:sh_flags is called without arguments, the value\n\
234d29b2c44Sab   of sh_flags for every section in the section header array\n\
235d29b2c44Sab   is shown. If called with the shndx argument, the value of\n\
236d29b2c44Sab   the section at that index is displayed. If one or more\n\
237d29b2c44Sab   value arguments are present, the following steps are taken:\n\
238d29b2c44Sab   \n   \
239d29b2c44Sab   o\tAll the value arguments are OR'd together.\n\
240d29b2c44Sab   \n   \
241d29b2c44Sab   o\tIf the -cmp option has been specified, the new value\n\
242d29b2c44Sab   \tis complemented.\n\
243d29b2c44Sab   \n   \
244d29b2c44Sab   o\tThe sh_flags field of the section header is updated with\n\
245d29b2c44Sab   \tthe new value. If -and is specified, the new value is\n\
246d29b2c44Sab   \tAND'd against the existing value. If -or is specified,\n\
247d29b2c44Sab   \tthe new value is OR'd against the existing value. If\n\
248d29b2c44Sab   \tneither -and or -or are specified, the new value replaces\n\
249d29b2c44Sab   \tthe existing value.\n"
250d29b2c44Sab
251d29b2c44Sab@ MSG_HELP_SH_INFO	"   \
252d29b2c44Sab   The shdr:sh_info command is used to display or alter the\n\
253d29b2c44Sab   sh_info field of the specified section.\n\
254d29b2c44Sab   \n\
255d29b2c44Sab   sh_info contains extra information, the interpretation\n\
256d29b2c44Sab   of which depends on the section type.\n\
257d29b2c44Sab   \n\
258d29b2c44Sab   If shdr:sh_info is called without arguments, the value\n\
259d29b2c44Sab   of sh_info for every section in the section header array\n\
260d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
261d29b2c44Sab   section at that index is displayed. If both arguments are\n\
262d29b2c44Sab   present, the sh_info field of the section at the specified\n\
263d29b2c44Sab   index is set to the given value.\n"
264d29b2c44Sab
265d29b2c44Sab@ MSG_HELP_SH_LINK	"   \
266d29b2c44Sab   The shdr:sh_link command is used to display or alter the\n\
267d29b2c44Sab   sh_link field of the specified section.\n\
268d29b2c44Sab   \n\
269d29b2c44Sab   sh_link contains extra information, the interpretation\n\
270d29b2c44Sab   of which depends on the section type.\n\
271d29b2c44Sab   \n\
272d29b2c44Sab   If shdr:sh_link is called without arguments, the value\n\
273d29b2c44Sab   of sh_link for every section in the section header array\n\
274d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
275d29b2c44Sab   section at that index is displayed. If both arguments are\n\
276d29b2c44Sab   present, the sh_link field of the section at the specified\n\
277d29b2c44Sab   index is set to the given value.\n"
278d29b2c44Sab
279d29b2c44Sab@ MSG_HELP_SH_NAME	"   \
280d29b2c44Sab   The shdr:sh_name command is used to display or alter the\n\
281d29b2c44Sab   name associated with a specified section.\n\
282d29b2c44Sab   \n\
283d29b2c44Sab   The sh_name field of a section header is an index into\n\
284d29b2c44Sab   the section header string table section giving the location\n\
285d29b2c44Sab   of a null terminated string.\n\
286d29b2c44Sab   \n\
287d29b2c44Sab   If shdr:sh_name is called without arguments, the name of\n\
288d29b2c44Sab   every section in the section header array is shown. If called\n\
289d29b2c44Sab   with the shndx argument, the name of the section at that\n\
290d29b2c44Sab   index is displayed. If both arguments are present, the\n\
291d29b2c44Sab   sh_name field of the section at the specified index is set\n\
292d29b2c44Sab   to the given value.\n\
293d29b2c44Sab   \n\
294d29b2c44Sab   When changing the name of a section, you should be aware\n\
295d29b2c44Sab   that the name selected must exist within the section header\n\
296d29b2c44Sab   string table, as it is not possible to add new strings to\n\
297d29b2c44Sab   this string table.\n"
298d29b2c44Sab
299d29b2c44Sab@ MSG_HELP_SH_OFFSET	"   \
300d29b2c44Sab   The shdr:sh_offset command is used to display or alter the\n\
301d29b2c44Sab   sh_offset field of the specified section.\n\
302d29b2c44Sab   \n\
303d29b2c44Sab   sh_offset provides the byte offset from the beginning of\n\
304d29b2c44Sab   the file to the first byte in the section. For a SHT_NOBITS\n\
305d29b2c44Sab   section, this member indicates the conceptual offset in\n\
306d29b2c44Sab   the file, as the section occupies no space in the file.\n\
307d29b2c44Sab   \n\
308d29b2c44Sab   If shdr:sh_offset is called without arguments, the value\n\
309d29b2c44Sab   of sh_offset for every section in the section header array\n\
310d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
311d29b2c44Sab   section at that index is displayed. If both arguments are\n\
312d29b2c44Sab   present, the sh_offset field of the section at the specified\n\
313d29b2c44Sab   index is set to the given value.\n"
314d29b2c44Sab
315d29b2c44Sab@ MSG_HELP_SH_SIZE	"   \
316d29b2c44Sab   The shdr:sh_size command is used to display or alter the\n\
317d29b2c44Sab   sh_size field of the specified section.\n\
318d29b2c44Sab   \n\
319d29b2c44Sab   sh_size provides the section's size in bytes. Unless the\n\
320d29b2c44Sab   section type is SHT_NOBITS, the section occupies sh_size\n\
321d29b2c44Sab   bytes in the file. A section of type SHT_NOBITS can have\n\
322d29b2c44Sab   a non-zero size, but the section occupies no space in the file.\n\
323d29b2c44Sab   \n\
324d29b2c44Sab   If shdr:sh_size is called without arguments, the value\n\
325d29b2c44Sab   of sh_size for every section in the section header array\n\
326d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
327d29b2c44Sab   section at that index is displayed. If both arguments are\n\
328d29b2c44Sab   present, the sh_size field of the section at the specified\n\
329d29b2c44Sab   index is set to the given value.\n"
330d29b2c44Sab
331d29b2c44Sab@ MSG_HELP_SH_TYPE	"   \
332d29b2c44Sab   The shdr:sh_type command is used to display or alter the\n\
333d29b2c44Sab   sh_type field of the specified section.\n\
334d29b2c44Sab   \n\
335d29b2c44Sab   The type of a section categorizes the section's contents\n\
336d29b2c44Sab   and semantics.\n\
337d29b2c44Sab   \n\
338d29b2c44Sab   If shdr:sh_type is called without arguments, the value\n\
339d29b2c44Sab   of sh_type for every section in the section header array\n\
340d29b2c44Sab   is shown. If called with the shndx argument, the value of the\n\
341d29b2c44Sab   section at that index is displayed. If both arguments are\n\
342d29b2c44Sab   present, the sh_type field of the section at the specified\n\
343d29b2c44Sab   index is set to the given value.\n"
344d29b2c44Sab
345d29b2c44Sab
346d29b2c44Sab
347d29b2c44Sab@ _END_
348d29b2c44Sab
349d29b2c44Sab
350d29b2c44Sab# The following strings represent reserved words, files, pathnames and symbols.
351d29b2c44Sab# Reference to this strings is via the MSG_ORIG() macro, and thus no message
352d29b2c44Sab# translation is required.
353d29b2c44Sab
354d29b2c44Sab
355d29b2c44Sab# Miscellaneous clutter
356d29b2c44Sab@ MSG_STR_EMPTY			""
357d29b2c44Sab@ MSG_STR_NL			"\n"
358d29b2c44Sab@ MSG_STR_MINUS_SHNDX		"-shndx"
359d29b2c44Sab@ MSG_STR_MINUS_SHTYP		"-shtyp"
360d29b2c44Sab@ MSG_STR_MINUS_NAME_OFFSET	"-name_offset"
361*cce0e03bSab@ MSG_STR_MINUS_VALUE_SHNAM	"-value_shnam"
362*cce0e03bSab@ MSG_STR_MINUS_VALUE_SHTYP	"-value_shtyp"
363d29b2c44Sab@ MSG_STR_NAME			"name"
364d29b2c44Sab@ MSG_STR_SEC			"sec"
365d29b2c44Sab@ MSG_STR_VALUE			"value"
366d29b2c44Sab
367d29b2c44Sab
368d29b2c44Sab# Format strings
369d29b2c44Sab
370d29b2c44Sab@ MSG_FMT_WORDVALNL		"%u\n"
371d29b2c44Sab@ MSG_FMT_WORDHEXNL		"%#x\n"
372d29b2c44Sab@ MSG_FMT_XWORDHEXNL		"%#llx\n"
373d29b2c44Sab@ MSG_FMT_STRNL			"%s\n"
374d29b2c44Sab
375d29b2c44Sab
376d29b2c44Sab# Module name
377d29b2c44Sab
378d29b2c44Sab@ MSG_MOD_NAME		"shdr"
379d29b2c44Sab
380d29b2c44Sab
381d29b2c44Sab# Command names
382d29b2c44Sab
383d29b2c44Sab@ MSG_CMD_DUMP		"dump"
384d29b2c44Sab
385d29b2c44Sab@ MSG_CMD_SH_ADDR	"sh_addr"
386d29b2c44Sab@ MSG_CMD_SH_ADDRALIGN	"sh_addralign"
387d29b2c44Sab@ MSG_CMD_SH_ENTSIZE	"sh_entsize"
388d29b2c44Sab@ MSG_CMD_SH_FLAGS	"sh_flags"
389d29b2c44Sab@ MSG_CMD_SH_INFO	"sh_info"
390d29b2c44Sab@ MSG_CMD_SH_LINK	"sh_link"
391d29b2c44Sab@ MSG_CMD_SH_NAME	"sh_name"
392d29b2c44Sab@ MSG_CMD_SH_OFFSET	"sh_offset"
393d29b2c44Sab@ MSG_CMD_SH_SIZE	"sh_size"
394d29b2c44Sab@ MSG_CMD_SH_TYPE	"sh_type"
395