d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab# CDDL HEADER START
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab# The contents of this file are subject to the terms of the
d29b2c4438482eb00488be49a1f5d6835f455546ab# Common Development and Distribution License (the "License").
d29b2c4438482eb00488be49a1f5d6835f455546ab# You may not use this file except in compliance with the License.
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d29b2c4438482eb00488be49a1f5d6835f455546ab# or http://www.opensolaris.org/os/licensing.
d29b2c4438482eb00488be49a1f5d6835f455546ab# See the License for the specific language governing permissions
d29b2c4438482eb00488be49a1f5d6835f455546ab# and limitations under the License.
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab# When distributing Covered Code, include this CDDL HEADER in each
d29b2c4438482eb00488be49a1f5d6835f455546ab# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d29b2c4438482eb00488be49a1f5d6835f455546ab# If applicable, add the following below this CDDL HEADER, with the
d29b2c4438482eb00488be49a1f5d6835f455546ab# fields enclosed by brackets "[]" replaced with your own identifying
d29b2c4438482eb00488be49a1f5d6835f455546ab# information: Portions Copyright [yyyy] [name of copyright owner]
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab# CDDL HEADER END
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab#
08278a5e91755ccdb5850c19d21d42fb2e16b50eRod Evans# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
d29b2c4438482eb00488be49a1f5d6835f455546ab# Use is subject to license terms.
d29b2c4438482eb00488be49a1f5d6835f455546ab#
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ _START_
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Message file for cmd/sgs/elfedit.
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ID_ELFEDIT
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Usage Messages
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_BRIEF "usage: elfedit [-adrw] [-e cmd] [-L modpath] \
d29b2c4438482eb00488be49a1f5d6835f455546ab [-o style] [file] [outfile]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL1 "\t[-a] Autoprint (show edit results)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL2 "\t[-d] Issue messages describing internal \
d29b2c4438482eb00488be49a1f5d6835f455546ab operations\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL3 "\t[-e cmd] edit command\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL4 "\t[-L modpath] Set module path\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL5 "\t[-o ostyle] Output style (default|simple|num)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL6 "\t[-r] Readonly session (outfile not \
d29b2c4438482eb00488be49a1f5d6835f455546ab allowed)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_DETAIL_LAST "\n\tExtensive help for edit commands is available.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tEnter 'help' at the elfedit prompt.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_USAGE_CMD "usage: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# sys:set option names
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYSSET_A "autoprint flag"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYSSET_D "debug flag"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Names of things we allocate dynamically
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_OBJSTATE "object state"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_SYMTABOS "symbol table information buffer"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_MODDEF "module definition"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_UCMD "user command state"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_UCMDSTR "user command string buffer"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_TOKBUF "user command token buffer"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_BATCHLST "list of -e commands"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_EXPATH "expanded module search path"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_PATHARR "search path array"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_HELPITEM "help state"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ALLOC_SECMSGPRE "section message prefix string"
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami@ MSG_ALLOC_ELFCONDESC "ELF constant string descriptors"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Format strings
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_BUILTIN "<built in>"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_UNKNOWN "<unknown>"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Debug messages
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ADDDYNFLG "[%d: %s][%d]: Set DF_1_EDITED flag\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_SEEDYNFLG "[%d: %s][%d]: Previously edited file \
d29b2c4438482eb00488be49a1f5d6835f455546ab (DF_1_EDITED flag is set) \n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_CMDALIAS "Command %s:%s is an alias for %s:%s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_MODLOAD "load module: %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_MODUNLOAD "unload module: %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_CPFILE "copied %s to output file: %s\n";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_UNLINKFILE "unlink unsaved output file: %s\n";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_VERSION "%d-bit version\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_READONLY "session is readonly\n";
08278a5e91755ccdb5850c19d21d42fb2e16b50eRod Evans@ MSG_DEBUG_NOFILE "no ELF object specified. Limited functionality is \
08278a5e91755ccdb5850c19d21d42fb2e16b50eRod Evans available\n";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_DIRTYEXIT "discarding unsaved edits\n";
cce0e03bb2d07f0fe27cabb93acae9c23655859fab@ MSG_DEBUG_FNDSEC "[%d: %s]: section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDCAP "[%d: %s]: capabilities section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDDYN "[%d: %s]: dynamic section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDSTR "[%d: %s][%d]: string: %s\n"
55ef6355bc6375ad080b10b10660e3528e2b7e6aab@ MSG_DEBUG_FNDSTRTAB "[%d: %s]: string table section (SHT_STRTAB)\n"
55ef6355bc6375ad080b10b10660e3528e2b7e6aab@ MSG_DEBUG_FNDSTRTABFL "[%d: %s]: string table section (SHF_STRINGS)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDSYMTAB "[%d: %s]: %s symbol table section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDSYMINFO "[%d: %s]: syminfo section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDVERSYM "[%d: %s]: versym section: [%d: %s]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_FNDXSHNDX "[%d: %s]: extended section index section: [%d: %s]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_EXISTSTR "[%d: %s][%d]: Found existing string in section: %s\n"
ad212f6fd387c78d9e1507c5d58c58eb9bdefa66ab@ MSG_DEBUG_ADDSTR "[%d: %s][%d]: Using %d/%d bytes from reserved area \
d29b2c4438482eb00488be49a1f5d6835f455546ab to add string: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_NULL2DYNFL1 "[%d: %s]: No existing flags1 field to modify. \
d29b2c4438482eb00488be49a1f5d6835f455546ab Will use extra DT_NULL in slot [%d] \n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_AUX_LINK "[%d: %s]: Ignoring section: sh_link field references \
d29b2c4438482eb00488be49a1f5d6835f455546ab non-symbol table section: [%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_AUX_SIZE "[%d: %s][%d]: Ignoring section: Not enough elements \
d29b2c4438482eb00488be49a1f5d6835f455546ab for corresponding symbol table: [%d: %s][%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_EXECCMD "command: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_SHNAM2NDX "[%d: %s]: section name: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_SYMNAM2NDX "[%d: %s][%d]: symbol \"%s\"\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_INPLACEWARN "warning: editing input file in place is not \
d29b2c4438482eb00488be49a1f5d6835f455546ab recommended: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_SHNDX_RANGE "Specified section index [%d] is outside of valid \
d29b2c4438482eb00488be49a1f5d6835f455546ab of range for this object: 0-%d\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRCPY_1 "%s: copy array element [%d] to [%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRCPY_N "%s: copy array elements [%d-%d] to [%d-%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRZERO_1 "%s[%d]: zero array element\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRZERO_N "%s[%d-%d]: zero %d array elements\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRMOVE_1 "%s: moved element [%d] to [%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_DEBUG_ARRMOVE_N "%s: moved %d elements from [%d-%d] to [%d-%d]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Errors
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOFILSYSONLY "No ELF object specified. Only commands from \
d29b2c4438482eb00488be49a1f5d6835f455546ab module sys: are allowed: %s:%s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADOSTYLE "Unrecognized output style \
d29b2c4438482eb00488be49a1f5d6835f455546ab (default|simple|num): %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADCONST "internal error: bad constant value in \
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit_const_to_atoui()\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADGETVAL "internal error: bad required value passed to \
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit_XXX_get_value()\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_PATHTOOLONG "path too long: %s/%s.so\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTDLOPEN "unable to load module sharable object %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTDLCLOSE "unable to unload module sharable object %s: %s\n"
cce0e03bb2d07f0fe27cabb93acae9c23655859fab@ MSG_ERR_ESCEOL "backslash escape cannot be used at end of line\n"
cce0e03bb2d07f0fe27cabb93acae9c23655859fab@ MSG_ERR_BADCESC "unrecognized escape in double quoted token: \\%c\n"
cce0e03bb2d07f0fe27cabb93acae9c23655859fab@ MSG_ERR_UNTERMQUOTE "command is missing closing quote: %c\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_UNRECMOD "no such module: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_UNRECCMD "no such command: %s:%s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_SONOTMOD "sharable object is not a valid elfedit module: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTULSMOD "cannot unload built in module: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NULLPRICMDNAM "module has empty string for primary command: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADMODLOAD "elfedit module failed to initialize: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADMODNAME "sharable library provides module '%s' rather \
d29b2c4438482eb00488be49a1f5d6835f455546ab than expected '%s': %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_OPT_MODPRE "command option name must start with \
d29b2c4438482eb00488be49a1f5d6835f455546ab a '-': %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_OPT_MODLEN "command option name must have at least one character: \
d29b2c4438482eb00488be49a1f5d6835f455546ab %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_OPT_EXCMASKN0 "command option oa_excmask is non-zero when \
d29b2c4438482eb00488be49a1f5d6835f455546ab oa_idmask is zero: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_OPT_IDMASKPOW2 "command option oa_idmask must be 0 or power \
d29b2c4438482eb00488be49a1f5d6835f455546ab of 2: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_OPT_IDMASKUNIQ "command option oa_idmask must be 0 or must be unique \
d29b2c4438482eb00488be49a1f5d6835f455546ab value: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARG_MODPRE "command argument name may not start with \
d29b2c4438482eb00488be49a1f5d6835f455546ab a '-': %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARG_MODLEN "command argument name must have at least one \
d29b2c4438482eb00488be49a1f5d6835f455546ab character: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARG_CMDOA_VAL "command argument has ELFEDIT_CMDOA_F_VALUE set, \
d29b2c4438482eb00488be49a1f5d6835f455546ab which is only allowed for command \
d29b2c4438482eb00488be49a1f5d6835f455546ab options: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARG_MASKNOT0 "command argument oa_idmask and oa_excmask fields \
d29b2c4438482eb00488be49a1f5d6835f455546ab must both be set to 0: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADSTDOA "internal error: argument or option uses \
d29b2c4438482eb00488be49a1f5d6835f455546ab ELFEDIT_CMDOA_F_VALUE incorrectly: %s : %s:%s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CMDOA_VALNAM "ELFEDIT_CMDOA_F_VALUE optarg has NULL \
d29b2c4438482eb00488be49a1f5d6835f455546ab oa_name: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CMDOA_VALNOT0 "ELFEDIT_CMDOA_F_VALUE optarg has non-0 oa_help, \
d29b2c4438482eb00488be49a1f5d6835f455546ab oa_flags, oa_idmask or oa_excmask \
d29b2c4438482eb00488be49a1f5d6835f455546ab field: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADMODOPTVAL "command option has ELFEDIT_CMDOA_F_VALUE bit set, \
d29b2c4438482eb00488be49a1f5d6835f455546ab but following value item is missing: %s : %s:%s %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTOPNFILE "open failed: %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTOPNDIR "unable to read directory: %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_SIGACTION "unable to set signal handler: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOAR "unable to edit ELF archive: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_UNRECELFFILE "unable to edit non-ELF file: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADELFCLASS "unable to edit file with unknown ELFCLASS: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_MALLOC "%s: malloc: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_LIBELF "%s: %s failed: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_MODNOCMD "module '%s' specified without a command\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTFORK "unable to execute child process: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTWAIT "unable to wait for child process: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTEXEC "%sunable to exec %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTSTAT "unable to stat %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTCHMOD "unable to chmod %s: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADSECNDX "Specified section index [%d] is outside valid \
d29b2c4438482eb00488be49a1f5d6835f455546ab range: 1-%d\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOCAP "ELF object does not have a capabilities section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NODYN "ELF object does not have a dynamic section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSYM "[%d: %s]: Symbol table does not contain symbol: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSYMTAB "symbol table section not found\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSYMINFO "ELF object does not have a syminfo section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOTSYMTAB "[%d: %s]: section is not a symbol table\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_STRSHNDX "string section index %d is outside expected \
cce0e03bb2d07f0fe27cabb93acae9c23655859fab range 1 - %d\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOTSTRSH "[%d: %s]: Section is not a string table as expected\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSTRPAD "[%d: %s]: String table does not have room to add \
d29b2c4438482eb00488be49a1f5d6835f455546ab string\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADSTROFF "[%d: %s]: String offset [%d] is outside valid \
d29b2c4438482eb00488be49a1f5d6835f455546ab range: 0-%d\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOVERSYMSEC "[%d: %s]: symbol table does not have an associated \
d29b2c4438482eb00488be49a1f5d6835f455546ab versym section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOXSHSEC "[%d: %s]: symbol table does not have an associated \
d29b2c4438482eb00488be49a1f5d6835f455546ab extended index section\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADATOISTR "not a valid numeric value: '%s'\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ATOIRANGE "%s value is out of range [%lld - %lld]: %lld\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ATOUIRANGE "%s value is out of range [%llu - %llu]: %llu\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_BADPATHCODE "Unrecognized code encountered in module \
d29b2c4438482eb00488be49a1f5d6835f455546ab search path: %%%c\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_UNKNOWNSYSERR "<unknown>"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_PAGERFINI "Error encountered closing pager process\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_PRINTF "Error encountered writing output\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_FWRITE "Error encountered writing output: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_MODNAMTOOLONG "module name too long: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_CNTGETORIGIN "Unable to determine elfedit $ORIGIN\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_GLREAD "error reading from stdin: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_READONLY "Operation not allowed in readonly session\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NODIRTYQUIT "Output ELF file has changes pending. Use 'write' \
d29b2c4438482eb00488be49a1f5d6835f455546ab to save them, or 'quit -f' to exit without saving\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSECNAM "File does not contain section of name: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_NOSECTYP "File does not contain section of type: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARRBNDS "%s[%d]: attempt to access elements outside \
d29b2c4438482eb00488be49a1f5d6835f455546ab of valid of range for this section: 0-%d\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ERR_ARRMVOVERLAP "%s: Array source [%d-%d] and destination \
d29b2c4438482eb00488be49a1f5d6835f455546ab [%d-%d] regions overlap\n"
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami@ MSG_ERR_BADOSABI "Operation not supported by current OS ABI: %s\n";
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Format strings for sys:help
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MOD "\nMODULE\n %s - %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_NAME "\nNAME\n %s - %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_SYNOPSIS "\nSYNOPSIS\n %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_ALIASES "\nALIASES\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MODDEFCMD "module default";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_DEFCMD "\t\t(Default Command For Module)";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_DESC "\nDESCRIPTION\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_ARGS "\nARGUMENTS\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_OPT "\nOPTIONS\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MULTIEND "[End: %s, Next: %s]\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_INFILE "Input File: %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_INFILERO "Input File: %s (readonly)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_INFILENONE "Input File: <not present>\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_OUTFILE "Output File: %s\n"
08278a5e91755ccdb5850c19d21d42fb2e16b50eRod Evans@ MSG_HLPFMT_CNGPENDING " (changes pending)\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_VARHDR "\nOptions:\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_AFLG " a (Autoprint): %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_DFLG " d (Debug): %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_OFLG " o (Output Style): %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_PATHHDR "\nModule Load Path:\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MODHDR "\nCurrently Loaded Modules:\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_SUMSYNOPSIS "\n %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Names we use when an ELF item lacks a name
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_UNKNOWNSECNAM "<unknown section name>"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_BADSYMOFFSETNAM "<bad symbol name>"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# builtin sys: module description
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_MOD_SYS_DESC "Built in elfedit commands"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# 1-line description strings for builtin commands.
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_HELP "Display module information and/or command \
d29b2c4438482eb00488be49a1f5d6835f455546ab documentation"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_LOAD "Load module(s)"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_SET "Set elfedit options"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_STATUS "Session status (files, modules, options)"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_QUIT "Exit elfedit session"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_UNLOAD "Unload module(s)"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_DESC_WRITE "Flush any changes back to current ELF file"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Command option description strings for builtin commands
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_OPTDESC_HELP_S "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Generate a command synopsis rather than full command help.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_OPTDESC_LOAD_A "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Load every module that can be found by following the module\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab load path.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_OPTDESC_QUIT_F "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Exit the elfedit session without first requiring changes to\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab be saved. Any modifications made to the output file will be\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab quietly discarded, and will be lost."
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_OPTDESC_UNLOAD_A "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Unload every currently loaded module. Loaded modules can be\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab displayed using the \"status\" command.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Command option description strings for builtin commands
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ARGDESC_HELP_ARG "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Items for which help is desired. Module names and/or command\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab names are allowed, as described above.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ARGDESC_LOAD_MODNAME "Name(s) of modules to be loaded.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ARGDESC_SET_OPTION "Name of option to be set.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ARGDESC_SET_VALUE "Value to be set for option.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ARGDESC_UNLOAD_MODNAME "Name(s) of modules to be loaded.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Help text for builtin commands.
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_HELP_NOARG " \
d29b2c4438482eb00488be49a1f5d6835f455546ab Welcome to elfedit, a utility for examining and editing\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab ELF objects. This brief discussion will tell you the basics\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab you need to know in order to use the elfedit help facility.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab With that, you will be able to find desired information about\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit and its available commands.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab To reach the point where you are reading this text, you entered\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab the elfedit command \"help\", without any arguments. Actually, you\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab may have entered any of the following:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t?, help, man, sys:?, sys:help, sys:man\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab As we will see below, these are simply different names for the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab help command.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab You use elfedit by issuing commands for it to execute.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The syntax is similar to that used by Unix command line\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab utilities, and follows the general form:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> module:command [-opt]... arg...\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The '>' character is the elfedit prompt, and not part of the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab command. We show elfedit commands with the prompt, but you\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab should not type the prompt in. elfedit supplies it to let\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab you know when it is expecting a command to process.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab As with a Unix utility, there are options (which start with a '-'\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab character) and plain arguments (which do not start with a '-').\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The plain arguments follow the options. The options and plain\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab arguments differ from command to command. Each command sets its own\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab rules for whether it accepts options and arguments, as well as\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab which ones and how many. These details are found in the online\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab help that is available for each command. To learn more about\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab any command, use the help command:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> help cmdname\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab where 'cmdname' is the name of the command you are interested in.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab help is simply an elfedit command, like any other. As such, you\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab can read the full documentation for help by entering the command:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> help sys:help\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit functionality is organized as \"modules\", which are\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab dynamically loadable ELF objects that contain related editing\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab commands. To refer to a command, you enter its module name,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab a colon (:), and the command name, all as a single unit without\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab any intervening white-space. The 'sys' module is special: It is\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab a built in module that contains the core commands required for\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit to work. As a convenience, if you omit the module name\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab from a command, elfedit assumes that you are referring to the sys\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab module. This is why sys:help and help are really the same command,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab and why we did not have to write the above help command as:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> sys:help sys:help\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab In fact, we could have written it even more simply, as:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> help help\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab To access a command from any module other than sys, you must\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab enter both the module and command names. This means that if\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab you write your own module, the module name needs to be unique,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab but the command names it supplies can be the same names used by\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab other modules. For instance, most elfedit modules supply a command\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab named dump to display information about their part of the ELF \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab file in a style similar to that used by the Unix elfdump command.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Despite having the same name (dump), these are all distinct and\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab separate commands. elfedit uses the module/command pair to know\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab which one you mean.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit commands can sometimes have more than one name, or alias.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Usually, each command only has one name, but there are some\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab exceptions. For example, as we have already seen, sys:?, and \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab sys:man are aliases of sys:help. These are all common names\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab that different programs use to supply help. elfedit accepts all\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab of these names in the hope that a new user who doesn't know\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit yet will try one of them, and find this information.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Most modules provide a \"default command\". This command will be\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab run if you provide only the module name. Most modules use this\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab feature to provide a shortcut for their \"dump\" command. For\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab instance, both of the following commands run dyn:dump:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> dyn:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> dyn:dump\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Although the command name dump was not required, the colon\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab (:) character is. Without it, elfedit will think you mean the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab command sys:dyn.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Using the help command (sys:help), you can easily learn about\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab the other commands that are available. To see which modules\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab are available and a synopsis of the commands they provide:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> help -s\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab To see the full documentation for a command, you give the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab name of the command to the help command as a plain argument.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab As we saw above, this command will show you the detailed\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab documentation for the help command itself:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \t> help help\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The arguments to help can also be module names, without the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab command. In that case, output similar to that from the -s\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab option will be displayed for that module.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab If you are new to elfedit, we recommend that you start by learning\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab about the commands in the sys module. This will provide you with\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab such basic knowledge as how to find out the status of your session\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab (sys:status) or how to exit the elfedit program (sys:quit). Once\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab you understand the basic commands, you can branch out and learn\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab about the available modules and commands and how they can be used\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab to edit ELF files.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_HELP " \
d29b2c4438482eb00488be49a1f5d6835f455546ab The sys:help command provides information on elfedit modules\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab and commands:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tIf called with command names as arguments, documentation\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tfor each given command is displayed. If the -s option is\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tspecified, a basic synopsis for the command is given.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tOtherwise, the full documentation is shown.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tIf called with module names as arguments, the name and\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tpurpose of each module is shown, along with a brief synopsis\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tof the commands the module provides.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tIf called with the -s option, and no arguments, a brief\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tsynopsis of every command is shown, organized by module,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tfor every module visible from the module load path.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tIf called with no arguments, and the -s option is not\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tused, a brief welcome message is displayed, giving basic\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tinformation on elfedit operation and the use of the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \thelp command.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_LOAD "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The sys:load command is used to explicitly load elfedit modules.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Most of the functionality available in elfedit is not built\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab into the elfedit program directly. Instead, functionality\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab is contained in \"modules\", which are implemented as dynamically\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab loadable ELF sharable objects. This design allows for easy\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab extensibility of elfedit's abilities, and it is also efficient,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab since it allows elfedit to be a relatively small program.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit will automatically load a module under the following\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab circumstances:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n \
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tA command from the module needs to be run.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n \
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tTo display help information about the module or a command\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tfound in the module.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n \
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tTo perform command completion in an interactive session.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tCommand completion can cause many, or all modules visible\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tin the module path to be loaded.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab There is usually little need for explicit module loading.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab It is usually best to allow elfedit to load modules as they\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab are needed.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_SET "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Set options that control how elfedit works.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
08278a5e91755ccdb5850c19d21d42fb2e16b50eRod Evans Most variables accept boolean (true/false) values. The sys:set\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab command accepts any of the following as a boolean value:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab 0/1, true/false, t/f, yes/no, y/n, on/off.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The variables, and their allowed values, are as follows:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab a\tAutoprint [boolean]\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tWhen autoprint is active, elfedit automatically displays\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tthe results of any edits after carrying them out. By default,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tautoprint is on for interactive sessions, and false for\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tsessions where the input is not a tty. The elfedit -a option\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tcan be used to enable autoprint at session start.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab d\tDebug [boolean]\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tWhen enabled, elfedit issues detailed messages showing\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \twhere ELF data is being accessed, and how specific edits\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tare being carried out. Debug mode is off by default. The\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \telfedit -d option can be used to enable debug mode at\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tsession start.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tOutput Style [default, simple, num]\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tControls the format in which elfedit prints ELF data:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tdefault\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tInformation is displayed in a style similar to that used by\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tthe elfdump utility. This style is best for interactive use.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tsimple\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tData is displayed in a simple format, without extraneous\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tinformation or formatting. Strings are displayed as is.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tNumbers are displayed as symbolic constants when possible,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tand in integer form otherwise.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tnum\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tInteger values are always shown in integer form. Strings\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tare shown as the integer offset into the containing string\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \ttable.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_STATUS "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The status of the current elfedit session is shown:\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tInput and output files\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tCurrent settings of the elfedit options (See 'help set'\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tfor more information on elfedit options)\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tModule load path\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab o\tLoaded modules and the paths of the sharable objects\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \tthat provide them\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_QUIT "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Exits the elfedit session.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab elfedit will normally refuse to exit a non-readonly session\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab while there are unsaved edits pending. The sys:write command\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab can be used to save such edits, or the -f option can be used to\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab discard pending edits and exit immediately.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_UNLOAD "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The sys:unload command is used to explicitly unload elfedit modules.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab There is usually little need to explicitly unload modules.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The description of the sys:load command discusses module loading\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab in more detail.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_HELP_WRITE "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Writes all pending edits to the output file. Until this is done,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab the edits are not permanent, and can be abandoned by exiting the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab session using the -f option to sys:quit. Once sys:write is used,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab these changes become permanent.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Command option description strings for inheritable option strings
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STDOA_OPTDESC_AND "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The new value should be bitwised AND'd against the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab existing value.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STDOA_OPTDESC_CMP "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The new value should be bitwise complemented\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab (1 values set to 0, and 0 values set to 1) before being\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab applied to the existing value.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STDOA_OPTDESC_O "\
d29b2c4438482eb00488be49a1f5d6835f455546ab Overrides the global output style (as set via the sys:set\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab command) for the duration of the call to this command.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab The valid values for the outstyle argument are: default,\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab simple, or num.\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab \n\
d29b2c4438482eb00488be49a1f5d6835f455546ab Output styles are described in more detail in the documentation\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab for the sys:set command.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STDOA_OPTDESC_OR "\
d29b2c4438482eb00488be49a1f5d6835f455546ab The new value should be bitwised OR'd against the\n\
d29b2c4438482eb00488be49a1f5d6835f455546ab existing value.\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ _END_
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# The following strings represent reserved words, files, pathnames and symbols.
d29b2c4438482eb00488be49a1f5d6835f455546ab# Reference to this strings is via the MSG_ORIG() macro, and thus no message
d29b2c4438482eb00488be49a1f5d6835f455546ab# translation is required.
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Names of libelf functions
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_BEGIN "elf_begin"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_GETEHDR "elf_getehdr"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_GETDATA "elf_getdata"
62b628a68db596a2d75a316dc7ffef658079231fAli Bahrami@ MSG_ELF_GETPHDRNUM "elf_getphdrnum"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_GETPHDR "elf_getphdr"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_GETSCN "elf_getscn"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_GETSHDR "elf_getshdr"
62b628a68db596a2d75a316dc7ffef658079231fAli Bahrami@ MSG_ELF_GETSHDRNUM "elf_getshdrnum"
62b628a68db596a2d75a316dc7ffef658079231fAli Bahrami@ MSG_ELF_GETSHDRSTRNDX "elf_getshdrstrndx"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ELF_UPDATE "elf_update"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Names of sh_type SHT_* type constants
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_SYMTAB "SHT_SYMTAB" # 2
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_SYMTAB_ALT1 "symtab"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_STRTAB "SHT_STRTAB" # 3
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_STRTAB_ALT1 "strtab"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_DYNSYM "SHT_DYNSYM" # 11
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_DYNSYM_ALT1 "dynsym"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_SUNW_LDYNSYM "SHT_SUNW_LDYNSYM" # 0x6ffffff3
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SHT_SUNW_LDYNSYM_ALT1 "sunw_ldynsym"
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# ISA strings. These could be separated into separate message modules
d29b2c4438482eb00488be49a1f5d6835f455546ab# on a per-platform basis if their size became large, but this is probably
d29b2c4438482eb00488be49a1f5d6835f455546ab# cheaper for this small set of strings.
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ISA_SPARC_32 "sparc"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ISA_SPARC_64 "sparcv9"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ISA_X86_32 "i386"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_ISA_X86_64 "amd64"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Format strings
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_BLDPATH "%s/%s"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_BLDSOPATH "%s/%s.so"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_MODCMD "%s:%s"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_SYSCMD "[sys]:%s"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_WORDVAL "%u"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_WRAPUSAGE "\n%s"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_FMT_SECMSGPRE "[%d: %s]"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Miscellaneous clutter
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_NULL ""
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ARG "arg"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_SP_BAR_SP " | "
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ELIPSES "..."
98c080d502548e68bb9815459ea56e6ae282c430Rod Evans@ MSG_STR_OPTIONS "ade:L:o:r"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ELFEDIT "elfedit: "
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_PROMPT "> "
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_NL "\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_TAB "\t"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_BINCP "/bin/cp"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_BINMORE "/bin/more"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_PAGER "PAGER"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ELFEDITINIT32 "elfedit32_init"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ELFEDITINIT64 "elfedit64_init"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_HLPINDENT " ";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_HLPUSEINDENT " ";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_HLPSUMINDENT " ";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_HLPOPTARG "%s";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_HLPOPTARG2 "%s %s";
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ENVVAR "ELFEDIT_PATH"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MODPATH "%r/usr/lib/elfedit/%I"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_EMPTY ""
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_DOT "."
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_COLON ":"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_SPACE " "
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_COMMA_SP ", "
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_CPAREN ")"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_DOTSO ".so"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_MINUS "--"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_A "-a"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_AND "-and"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_CMP "-cmp"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_F "-f"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_S "-s"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_O "-o"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_OR "-or"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MODNAME "modname"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_TRUE "true"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_FALSE "false"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_ON "on"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_OFF "off"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_YES "yes"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_NO "no"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_0 "0"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_1 "1"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_A "a"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_D "d"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_F "f"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_N "n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_O "o"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_OPTION "option"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_T "t"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_VALUE "value"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_W "w"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_Y "y"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_DEFAULT "default"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_O_DEFAULT "-odefault"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_SIMPLE "simple"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_O_SIMPLE "-osimple"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_NUM "num"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_MINUS_O_NUM "-onum"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_STR_OUTSTYLE "outstyle"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Format strings for sys:help
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MULTIHDR "::::::::::::::\n%s\n::::::::::::::\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_NAMDSCCOL " %-15s%s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_NAMDSCHDR "%s - %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_NAMSUMHDR " %s - %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_PATHELT " %s\n"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_HLPFMT_MULTNAM "%s ("
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# name of builtin sys: module
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_MOD_SYS "sys"
d29b2c4438482eb00488be49a1f5d6835f455546ab
d29b2c4438482eb00488be49a1f5d6835f455546ab# Names of sys: builtin commands
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_HELP "help"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_HELP_A1 "?"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_HELP_A2 "man"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_LOAD "load"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_QUIT "quit"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_QUIT_A1 "exit"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_QUIT_A2 "bye"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_SET "set"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_STATUS "status"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_UNLOAD "unload"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_WRITE "write"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_WRITE_A1 "flush"
d29b2c4438482eb00488be49a1f5d6835f455546ab@ MSG_SYS_CMD_WRITE_A2 "save"