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# 2308278a5eSRod Evans# Copyright 2010 Sun Microsystems, Inc. All rights reserved. 24d29b2c44Sab# Use is subject to license terms. 25d29b2c44Sab# 26d29b2c44Sab 27d29b2c44Sab@ _START_ 28d29b2c44Sab 29d29b2c44Sab# Message file for cmd/sgs/elfedit. 30d29b2c44Sab 31d29b2c44Sab@ MSG_ID_ELFEDIT 32d29b2c44Sab 33d29b2c44Sab 34d29b2c44Sab# Usage Messages 35d29b2c44Sab 36d29b2c44Sab@ MSG_USAGE_BRIEF "usage: elfedit [-adrw] [-e cmd] [-L modpath] \ 37d29b2c44Sab [-o style] [file] [outfile]\n" 38d29b2c44Sab@ MSG_USAGE_DETAIL1 "\t[-a] Autoprint (show edit results)\n" 39d29b2c44Sab@ MSG_USAGE_DETAIL2 "\t[-d] Issue messages describing internal \ 40d29b2c44Sab operations\n" 41d29b2c44Sab@ MSG_USAGE_DETAIL3 "\t[-e cmd] edit command\n" 42d29b2c44Sab@ MSG_USAGE_DETAIL4 "\t[-L modpath] Set module path\n" 43d29b2c44Sab@ MSG_USAGE_DETAIL5 "\t[-o ostyle] Output style (default|simple|num)\n" 44d29b2c44Sab@ MSG_USAGE_DETAIL6 "\t[-r] Readonly session (outfile not \ 45d29b2c44Sab allowed)\n" 46d29b2c44Sab@ MSG_USAGE_DETAIL_LAST "\n\tExtensive help for edit commands is available.\n\ 47d29b2c44Sab \tEnter 'help' at the elfedit prompt.\n" 48d29b2c44Sab@ MSG_USAGE_CMD "usage: %s\n" 49d29b2c44Sab 50d29b2c44Sab 51d29b2c44Sab# sys:set option names 52d29b2c44Sab 53d29b2c44Sab@ MSG_SYSSET_A "autoprint flag" 54d29b2c44Sab@ MSG_SYSSET_D "debug flag" 55d29b2c44Sab 56d29b2c44Sab 57d29b2c44Sab# Names of things we allocate dynamically 58d29b2c44Sab 59d29b2c44Sab@ MSG_ALLOC_OBJSTATE "object state" 60d29b2c44Sab@ MSG_ALLOC_SYMTABOS "symbol table information buffer" 61d29b2c44Sab@ MSG_ALLOC_MODDEF "module definition" 62d29b2c44Sab@ MSG_ALLOC_UCMD "user command state" 63d29b2c44Sab@ MSG_ALLOC_UCMDSTR "user command string buffer" 64d29b2c44Sab@ MSG_ALLOC_TOKBUF "user command token buffer" 65d29b2c44Sab@ MSG_ALLOC_BATCHLST "list of -e commands" 66d29b2c44Sab@ MSG_ALLOC_EXPATH "expanded module search path" 67d29b2c44Sab@ MSG_ALLOC_PATHARR "search path array" 68d29b2c44Sab@ MSG_ALLOC_HELPITEM "help state" 69d29b2c44Sab@ MSG_ALLOC_SECMSGPRE "section message prefix string" 704f680cc6SAli Bahrami@ MSG_ALLOC_ELFCONDESC "ELF constant string descriptors" 71d29b2c44Sab 72d29b2c44Sab# Format strings 73d29b2c44Sab 74d29b2c44Sab@ MSG_FMT_BUILTIN "<built in>" 75d29b2c44Sab@ MSG_FMT_UNKNOWN "<unknown>" 76d29b2c44Sab 77d29b2c44Sab# Debug messages 78d29b2c44Sab 79d29b2c44Sab@ MSG_DEBUG_ADDDYNFLG "[%d: %s][%d]: Set DF_1_EDITED flag\n" 80d29b2c44Sab@ MSG_DEBUG_SEEDYNFLG "[%d: %s][%d]: Previously edited file \ 81d29b2c44Sab (DF_1_EDITED flag is set) \n" 82d29b2c44Sab@ MSG_DEBUG_CMDALIAS "Command %s:%s is an alias for %s:%s\n" 83d29b2c44Sab@ MSG_DEBUG_MODLOAD "load module: %s: %s\n" 84d29b2c44Sab@ MSG_DEBUG_MODUNLOAD "unload module: %s: %s\n" 85d29b2c44Sab@ MSG_DEBUG_CPFILE "copied %s to output file: %s\n"; 86d29b2c44Sab@ MSG_DEBUG_UNLINKFILE "unlink unsaved output file: %s\n"; 87d29b2c44Sab@ MSG_DEBUG_VERSION "%d-bit version\n" 88d29b2c44Sab@ MSG_DEBUG_READONLY "session is readonly\n"; 8908278a5eSRod Evans@ MSG_DEBUG_NOFILE "no ELF object specified. Limited functionality is \ 9008278a5eSRod Evans available\n"; 91d29b2c44Sab@ MSG_DEBUG_DIRTYEXIT "discarding unsaved edits\n"; 92cce0e03bSab@ MSG_DEBUG_FNDSEC "[%d: %s]: section\n" 93d29b2c44Sab@ MSG_DEBUG_FNDCAP "[%d: %s]: capabilities section\n" 94d29b2c44Sab@ MSG_DEBUG_FNDDYN "[%d: %s]: dynamic section\n" 95d29b2c44Sab@ MSG_DEBUG_FNDSTR "[%d: %s][%d]: string: %s\n" 9655ef6355Sab@ MSG_DEBUG_FNDSTRTAB "[%d: %s]: string table section (SHT_STRTAB)\n" 9755ef6355Sab@ MSG_DEBUG_FNDSTRTABFL "[%d: %s]: string table section (SHF_STRINGS)\n" 98d29b2c44Sab@ MSG_DEBUG_FNDSYMTAB "[%d: %s]: %s symbol table section\n" 99d29b2c44Sab@ MSG_DEBUG_FNDSYMINFO "[%d: %s]: syminfo section\n" 100d29b2c44Sab@ MSG_DEBUG_FNDVERSYM "[%d: %s]: versym section: [%d: %s]\n" 101d29b2c44Sab@ MSG_DEBUG_FNDXSHNDX "[%d: %s]: extended section index section: [%d: %s]\n" 102d29b2c44Sab@ MSG_DEBUG_EXISTSTR "[%d: %s][%d]: Found existing string in section: %s\n" 103ad212f6fSab@ MSG_DEBUG_ADDSTR "[%d: %s][%d]: Using %d/%d bytes from reserved area \ 104d29b2c44Sab to add string: %s\n" 105d29b2c44Sab@ MSG_DEBUG_NULL2DYNFL1 "[%d: %s]: No existing flags1 field to modify. \ 106d29b2c44Sab Will use extra DT_NULL in slot [%d] \n" 107d29b2c44Sab@ MSG_DEBUG_AUX_LINK "[%d: %s]: Ignoring section: sh_link field references \ 108d29b2c44Sab non-symbol table section: [%d]\n" 109d29b2c44Sab@ MSG_DEBUG_AUX_SIZE "[%d: %s][%d]: Ignoring section: Not enough elements \ 110d29b2c44Sab for corresponding symbol table: [%d: %s][%d]\n" 111d29b2c44Sab@ MSG_DEBUG_EXECCMD "command: %s\n" 112d29b2c44Sab@ MSG_DEBUG_SHNAM2NDX "[%d: %s]: section name: %s\n" 113d29b2c44Sab@ MSG_DEBUG_SYMNAM2NDX "[%d: %s][%d]: symbol \"%s\"\n" 114d29b2c44Sab@ MSG_DEBUG_INPLACEWARN "warning: editing input file in place is not \ 115d29b2c44Sab recommended: %s\n" 116d29b2c44Sab@ MSG_DEBUG_SHNDX_RANGE "Specified section index [%d] is outside of valid \ 117d29b2c44Sab of range for this object: 0-%d\n" 118d29b2c44Sab@ MSG_DEBUG_ARRCPY_1 "%s: copy array element [%d] to [%d]\n" 119d29b2c44Sab@ MSG_DEBUG_ARRCPY_N "%s: copy array elements [%d-%d] to [%d-%d]\n" 120d29b2c44Sab@ MSG_DEBUG_ARRZERO_1 "%s[%d]: zero array element\n" 121d29b2c44Sab@ MSG_DEBUG_ARRZERO_N "%s[%d-%d]: zero %d array elements\n" 122d29b2c44Sab@ MSG_DEBUG_ARRMOVE_1 "%s: moved element [%d] to [%d]\n" 123d29b2c44Sab@ MSG_DEBUG_ARRMOVE_N "%s: moved %d elements from [%d-%d] to [%d-%d]\n" 124d29b2c44Sab 125d29b2c44Sab# Errors 126d29b2c44Sab 127d29b2c44Sab@ MSG_ERR_NOFILSYSONLY "No ELF object specified. Only commands from \ 128d29b2c44Sab module sys: are allowed: %s:%s\n" 129d29b2c44Sab@ MSG_ERR_BADOSTYLE "Unrecognized output style \ 130d29b2c44Sab (default|simple|num): %s\n" 131d29b2c44Sab@ MSG_ERR_BADCONST "internal error: bad constant value in \ 132d29b2c44Sab elfedit_const_to_atoui()\n" 133d29b2c44Sab@ MSG_ERR_BADGETVAL "internal error: bad required value passed to \ 134d29b2c44Sab elfedit_XXX_get_value()\n" 135d29b2c44Sab@ MSG_ERR_PATHTOOLONG "path too long: %s/%s.so\n" 136d29b2c44Sab@ MSG_ERR_CNTDLOPEN "unable to load module sharable object %s: %s\n" 137d29b2c44Sab@ MSG_ERR_CNTDLCLOSE "unable to unload module sharable object %s: %s\n" 138cce0e03bSab@ MSG_ERR_ESCEOL "backslash escape cannot be used at end of line\n" 139cce0e03bSab@ MSG_ERR_BADCESC "unrecognized escape in double quoted token: \\%c\n" 140cce0e03bSab@ MSG_ERR_UNTERMQUOTE "command is missing closing quote: %c\n" 141d29b2c44Sab@ MSG_ERR_UNRECMOD "no such module: %s\n" 142d29b2c44Sab@ MSG_ERR_UNRECCMD "no such command: %s:%s\n" 143d29b2c44Sab@ MSG_ERR_SONOTMOD "sharable object is not a valid elfedit module: %s\n" 144d29b2c44Sab@ MSG_ERR_CNTULSMOD "cannot unload built in module: %s\n" 145d29b2c44Sab@ MSG_ERR_NULLPRICMDNAM "module has empty string for primary command: %s\n" 146d29b2c44Sab@ MSG_ERR_BADMODLOAD "elfedit module failed to initialize: %s\n" 147d29b2c44Sab@ MSG_ERR_BADMODNAME "sharable library provides module '%s' rather \ 148d29b2c44Sab than expected '%s': %s\n" 149d29b2c44Sab@ MSG_ERR_OPT_MODPRE "command option name must start with \ 150d29b2c44Sab a '-': %s : %s:%s %s\n" 151d29b2c44Sab@ MSG_ERR_OPT_MODLEN "command option name must have at least one character: \ 152d29b2c44Sab %s : %s:%s %s\n" 153d29b2c44Sab@ MSG_ERR_OPT_EXCMASKN0 "command option oa_excmask is non-zero when \ 154d29b2c44Sab oa_idmask is zero: %s : %s:%s %s\n" 155d29b2c44Sab@ MSG_ERR_OPT_IDMASKPOW2 "command option oa_idmask must be 0 or power \ 156d29b2c44Sab of 2: %s : %s:%s %s\n" 157d29b2c44Sab@ MSG_ERR_OPT_IDMASKUNIQ "command option oa_idmask must be 0 or must be unique \ 158d29b2c44Sab value: %s : %s:%s %s\n" 159d29b2c44Sab@ MSG_ERR_ARG_MODPRE "command argument name may not start with \ 160d29b2c44Sab a '-': %s : %s:%s %s\n" 161d29b2c44Sab@ MSG_ERR_ARG_MODLEN "command argument name must have at least one \ 162d29b2c44Sab character: %s : %s:%s %s\n" 163d29b2c44Sab@ MSG_ERR_ARG_CMDOA_VAL "command argument has ELFEDIT_CMDOA_F_VALUE set, \ 164d29b2c44Sab which is only allowed for command \ 165d29b2c44Sab options: %s : %s:%s %s\n" 166d29b2c44Sab@ MSG_ERR_ARG_MASKNOT0 "command argument oa_idmask and oa_excmask fields \ 167d29b2c44Sab must both be set to 0: %s : %s:%s %s\n" 168d29b2c44Sab@ MSG_ERR_BADSTDOA "internal error: argument or option uses \ 169d29b2c44Sab ELFEDIT_CMDOA_F_VALUE incorrectly: %s : %s:%s\n" 170d29b2c44Sab@ MSG_ERR_CMDOA_VALNAM "ELFEDIT_CMDOA_F_VALUE optarg has NULL \ 171d29b2c44Sab oa_name: %s : %s:%s %s\n" 172d29b2c44Sab@ MSG_ERR_CMDOA_VALNOT0 "ELFEDIT_CMDOA_F_VALUE optarg has non-0 oa_help, \ 173d29b2c44Sab oa_flags, oa_idmask or oa_excmask \ 174d29b2c44Sab field: %s : %s:%s %s\n" 175d29b2c44Sab@ MSG_ERR_BADMODOPTVAL "command option has ELFEDIT_CMDOA_F_VALUE bit set, \ 176d29b2c44Sab but following value item is missing: %s : %s:%s %s\n" 177d29b2c44Sab@ MSG_ERR_CNTOPNFILE "open failed: %s: %s\n" 178d29b2c44Sab@ MSG_ERR_CNTOPNDIR "unable to read directory: %s: %s\n" 179d29b2c44Sab@ MSG_ERR_SIGACTION "unable to set signal handler: %s\n" 180d29b2c44Sab@ MSG_ERR_NOAR "unable to edit ELF archive: %s\n" 181d29b2c44Sab@ MSG_ERR_UNRECELFFILE "unable to edit non-ELF file: %s\n" 182d29b2c44Sab@ MSG_ERR_BADELFCLASS "unable to edit file with unknown ELFCLASS: %s\n" 183d29b2c44Sab@ MSG_ERR_MALLOC "%s: malloc: %s\n" 184d29b2c44Sab@ MSG_ERR_LIBELF "%s: %s failed: %s\n" 185d29b2c44Sab@ MSG_ERR_MODNOCMD "module '%s' specified without a command\n" 186d29b2c44Sab@ MSG_ERR_CNTFORK "unable to execute child process: %s\n" 187d29b2c44Sab@ MSG_ERR_CNTWAIT "unable to wait for child process: %s\n" 188d29b2c44Sab@ MSG_ERR_CNTEXEC "%sunable to exec %s: %s\n" 189d29b2c44Sab@ MSG_ERR_CNTSTAT "unable to stat %s: %s\n" 190d29b2c44Sab@ MSG_ERR_CNTCHMOD "unable to chmod %s: %s\n" 191d29b2c44Sab@ MSG_ERR_BADSECNDX "Specified section index [%d] is outside valid \ 192d29b2c44Sab range: 1-%d\n" 193d29b2c44Sab@ MSG_ERR_NOCAP "ELF object does not have a capabilities section\n" 194d29b2c44Sab@ MSG_ERR_NODYN "ELF object does not have a dynamic section\n" 195d29b2c44Sab@ MSG_ERR_NOSYM "[%d: %s]: Symbol table does not contain symbol: %s\n" 196d29b2c44Sab@ MSG_ERR_NOSYMTAB "symbol table section not found\n" 197d29b2c44Sab@ MSG_ERR_NOSYMINFO "ELF object does not have a syminfo section\n" 198d29b2c44Sab@ MSG_ERR_NOTSYMTAB "[%d: %s]: section is not a symbol table\n" 199d29b2c44Sab@ MSG_ERR_STRSHNDX "string section index %d is outside expected \ 200cce0e03bSab range 1 - %d\n" 201d29b2c44Sab@ MSG_ERR_NOTSTRSH "[%d: %s]: Section is not a string table as expected\n" 202d29b2c44Sab@ MSG_ERR_NOSTRPAD "[%d: %s]: String table does not have room to add \ 203d29b2c44Sab string\n" 204d29b2c44Sab@ MSG_ERR_BADSTROFF "[%d: %s]: String offset [%d] is outside valid \ 205d29b2c44Sab range: 0-%d\n" 206d29b2c44Sab@ MSG_ERR_NOVERSYMSEC "[%d: %s]: symbol table does not have an associated \ 207d29b2c44Sab versym section\n" 208d29b2c44Sab@ MSG_ERR_NOXSHSEC "[%d: %s]: symbol table does not have an associated \ 209d29b2c44Sab extended index section\n" 210d29b2c44Sab@ MSG_ERR_BADATOISTR "not a valid numeric value: '%s'\n" 211d29b2c44Sab@ MSG_ERR_ATOIRANGE "%s value is out of range [%lld - %lld]: %lld\n" 212d29b2c44Sab@ MSG_ERR_ATOUIRANGE "%s value is out of range [%llu - %llu]: %llu\n" 213d29b2c44Sab@ MSG_ERR_BADPATHCODE "Unrecognized code encountered in module \ 214d29b2c44Sab search path: %%%c\n" 215d29b2c44Sab@ MSG_ERR_UNKNOWNSYSERR "<unknown>" 216d29b2c44Sab@ MSG_ERR_PAGERFINI "Error encountered closing pager process\n" 217d29b2c44Sab@ MSG_ERR_PRINTF "Error encountered writing output\n" 218d29b2c44Sab@ MSG_ERR_FWRITE "Error encountered writing output: %s\n" 219d29b2c44Sab@ MSG_ERR_MODNAMTOOLONG "module name too long: %s\n" 220d29b2c44Sab@ MSG_ERR_CNTGETORIGIN "Unable to determine elfedit $ORIGIN\n" 221d29b2c44Sab@ MSG_ERR_GLREAD "error reading from stdin: %s\n" 222d29b2c44Sab@ MSG_ERR_READONLY "Operation not allowed in readonly session\n" 223d29b2c44Sab@ MSG_ERR_NODIRTYQUIT "Output ELF file has changes pending. Use 'write' \ 224d29b2c44Sab to save them, or 'quit -f' to exit without saving\n" 225d29b2c44Sab@ MSG_ERR_NOSECNAM "File does not contain section of name: %s\n" 226d29b2c44Sab@ MSG_ERR_NOSECTYP "File does not contain section of type: %s\n" 227d29b2c44Sab@ MSG_ERR_ARRBNDS "%s[%d]: attempt to access elements outside \ 228d29b2c44Sab of valid of range for this section: 0-%d\n" 229d29b2c44Sab@ MSG_ERR_ARRMVOVERLAP "%s: Array source [%d-%d] and destination \ 230d29b2c44Sab [%d-%d] regions overlap\n" 2314f680cc6SAli Bahrami@ MSG_ERR_BADOSABI "Operation not supported by current OS ABI: %s\n"; 232d29b2c44Sab 233d29b2c44Sab# Format strings for sys:help 234d29b2c44Sab@ MSG_HLPFMT_MOD "\nMODULE\n %s - %s\n" 235d29b2c44Sab@ MSG_HLPFMT_NAME "\nNAME\n %s - %s\n" 236d29b2c44Sab@ MSG_HLPFMT_SYNOPSIS "\nSYNOPSIS\n %s\n" 237d29b2c44Sab@ MSG_HLPFMT_ALIASES "\nALIASES\n" 238d29b2c44Sab@ MSG_HLPFMT_MODDEFCMD "module default"; 239d29b2c44Sab@ MSG_HLPFMT_DEFCMD "\t\t(Default Command For Module)"; 240d29b2c44Sab@ MSG_HLPFMT_DESC "\nDESCRIPTION\n" 241d29b2c44Sab@ MSG_HLPFMT_ARGS "\nARGUMENTS\n" 242d29b2c44Sab@ MSG_HLPFMT_OPT "\nOPTIONS\n" 243d29b2c44Sab@ MSG_HLPFMT_MULTIEND "[End: %s, Next: %s]\n" 244d29b2c44Sab@ MSG_HLPFMT_INFILE "Input File: %s\n" 245d29b2c44Sab@ MSG_HLPFMT_INFILERO "Input File: %s (readonly)\n" 246d29b2c44Sab@ MSG_HLPFMT_INFILENONE "Input File: <not present>\n" 247d29b2c44Sab@ MSG_HLPFMT_OUTFILE "Output File: %s\n" 24808278a5eSRod Evans@ MSG_HLPFMT_CNGPENDING " (changes pending)\n" 249d29b2c44Sab@ MSG_HLPFMT_VARHDR "\nOptions:\n" 250d29b2c44Sab@ MSG_HLPFMT_AFLG " a (Autoprint): %s\n" 251d29b2c44Sab@ MSG_HLPFMT_DFLG " d (Debug): %s\n" 252d29b2c44Sab@ MSG_HLPFMT_OFLG " o (Output Style): %s\n" 253d29b2c44Sab@ MSG_HLPFMT_PATHHDR "\nModule Load Path:\n" 254d29b2c44Sab@ MSG_HLPFMT_MODHDR "\nCurrently Loaded Modules:\n" 255d29b2c44Sab@ MSG_HLPFMT_SUMSYNOPSIS "\n %s\n" 256d29b2c44Sab 257d29b2c44Sab 258d29b2c44Sab# Names we use when an ELF item lacks a name 259d29b2c44Sab 260d29b2c44Sab@ MSG_UNKNOWNSECNAM "<unknown section name>" 261d29b2c44Sab@ MSG_BADSYMOFFSETNAM "<bad symbol name>" 262d29b2c44Sab 263d29b2c44Sab 264d29b2c44Sab# builtin sys: module description 265d29b2c44Sab 266d29b2c44Sab@ MSG_MOD_SYS_DESC "Built in elfedit commands" 267d29b2c44Sab 268d29b2c44Sab 269d29b2c44Sab# 1-line description strings for builtin commands. 270d29b2c44Sab 271d29b2c44Sab@ MSG_SYS_DESC_HELP "Display module information and/or command \ 272d29b2c44Sab documentation" 273d29b2c44Sab@ MSG_SYS_DESC_LOAD "Load module(s)" 274d29b2c44Sab@ MSG_SYS_DESC_SET "Set elfedit options" 275d29b2c44Sab@ MSG_SYS_DESC_STATUS "Session status (files, modules, options)" 276d29b2c44Sab@ MSG_SYS_DESC_QUIT "Exit elfedit session" 277d29b2c44Sab@ MSG_SYS_DESC_UNLOAD "Unload module(s)" 278d29b2c44Sab@ MSG_SYS_DESC_WRITE "Flush any changes back to current ELF file" 279d29b2c44Sab 280d29b2c44Sab 281d29b2c44Sab# Command option description strings for builtin commands 282d29b2c44Sab 283d29b2c44Sab@ MSG_SYS_OPTDESC_HELP_S "\ 284d29b2c44Sab Generate a command synopsis rather than full command help.\n" 285d29b2c44Sab 286d29b2c44Sab@ MSG_SYS_OPTDESC_LOAD_A "\ 287d29b2c44Sab Load every module that can be found by following the module\n\ 288d29b2c44Sab load path.\n" 289d29b2c44Sab@ MSG_SYS_OPTDESC_QUIT_F "\ 290d29b2c44Sab Exit the elfedit session without first requiring changes to\n\ 291d29b2c44Sab be saved. Any modifications made to the output file will be\n\ 292d29b2c44Sab quietly discarded, and will be lost." 293d29b2c44Sab@ MSG_SYS_OPTDESC_UNLOAD_A "\ 294d29b2c44Sab Unload every currently loaded module. Loaded modules can be\n\ 295d29b2c44Sab displayed using the \"status\" command.\n" 296d29b2c44Sab 297d29b2c44Sab 298d29b2c44Sab# Command option description strings for builtin commands 299d29b2c44Sab 300d29b2c44Sab@ MSG_ARGDESC_HELP_ARG "\ 301d29b2c44Sab Items for which help is desired. Module names and/or command\n\ 302d29b2c44Sab names are allowed, as described above.\n" 303d29b2c44Sab@ MSG_ARGDESC_LOAD_MODNAME "Name(s) of modules to be loaded.\n" 304d29b2c44Sab@ MSG_ARGDESC_SET_OPTION "Name of option to be set.\n" 305d29b2c44Sab@ MSG_ARGDESC_SET_VALUE "Value to be set for option.\n" 306d29b2c44Sab@ MSG_ARGDESC_UNLOAD_MODNAME "Name(s) of modules to be loaded.\n" 307d29b2c44Sab 308d29b2c44Sab 309d29b2c44Sab# Help text for builtin commands. 310d29b2c44Sab 311d29b2c44Sab@ MSG_SYS_HELP_HELP_NOARG " \ 312d29b2c44Sab Welcome to elfedit, a utility for examining and editing\n\ 313d29b2c44Sab ELF objects. This brief discussion will tell you the basics\n\ 314d29b2c44Sab you need to know in order to use the elfedit help facility.\n\ 315d29b2c44Sab With that, you will be able to find desired information about\n\ 316d29b2c44Sab elfedit and its available commands.\n\ 317d29b2c44Sab \n\ 318d29b2c44Sab To reach the point where you are reading this text, you entered\n\ 319d29b2c44Sab the elfedit command \"help\", without any arguments. Actually, you\n\ 320d29b2c44Sab may have entered any of the following:\n\ 321d29b2c44Sab \n\ 322d29b2c44Sab \t?, help, man, sys:?, sys:help, sys:man\n\ 323d29b2c44Sab \n\ 324d29b2c44Sab As we will see below, these are simply different names for the\n\ 325d29b2c44Sab help command.\n\ 326d29b2c44Sab \n\ 327d29b2c44Sab You use elfedit by issuing commands for it to execute.\n\ 328d29b2c44Sab The syntax is similar to that used by Unix command line\n\ 329d29b2c44Sab utilities, and follows the general form:\n\ 330d29b2c44Sab \n\ 331d29b2c44Sab \t> module:command [-opt]... arg...\n\ 332d29b2c44Sab \n\ 333d29b2c44Sab The '>' character is the elfedit prompt, and not part of the\n\ 334d29b2c44Sab command. We show elfedit commands with the prompt, but you\n\ 335d29b2c44Sab should not type the prompt in. elfedit supplies it to let\n\ 336d29b2c44Sab you know when it is expecting a command to process.\n\ 337d29b2c44Sab \n\ 338d29b2c44Sab As with a Unix utility, there are options (which start with a '-'\n\ 339d29b2c44Sab character) and plain arguments (which do not start with a '-').\n\ 340d29b2c44Sab The plain arguments follow the options. The options and plain\n\ 341d29b2c44Sab arguments differ from command to command. Each command sets its own\n\ 342d29b2c44Sab rules for whether it accepts options and arguments, as well as\n\ 343d29b2c44Sab which ones and how many. These details are found in the online\n\ 344d29b2c44Sab help that is available for each command. To learn more about\n\ 345d29b2c44Sab any command, use the help command:\n\ 346d29b2c44Sab \n\ 347d29b2c44Sab \t> help cmdname\n\ 348d29b2c44Sab \n\ 349d29b2c44Sab where 'cmdname' is the name of the command you are interested in.\n\ 350d29b2c44Sab help is simply an elfedit command, like any other. As such, you\n\ 351d29b2c44Sab can read the full documentation for help by entering the command:\n\ 352d29b2c44Sab \n\ 353d29b2c44Sab \t> help sys:help\n\ 354d29b2c44Sab \n\ 355d29b2c44Sab elfedit functionality is organized as \"modules\", which are\n\ 356d29b2c44Sab dynamically loadable ELF objects that contain related editing\n\ 357d29b2c44Sab commands. To refer to a command, you enter its module name,\n\ 358d29b2c44Sab a colon (:), and the command name, all as a single unit without\n\ 359d29b2c44Sab any intervening white-space. The 'sys' module is special: It is\n\ 360d29b2c44Sab a built in module that contains the core commands required for\n\ 361d29b2c44Sab elfedit to work. As a convenience, if you omit the module name\n\ 362d29b2c44Sab from a command, elfedit assumes that you are referring to the sys\n\ 363d29b2c44Sab module. This is why sys:help and help are really the same command,\n\ 364d29b2c44Sab and why we did not have to write the above help command as:\n\ 365d29b2c44Sab \n\ 366d29b2c44Sab \t> sys:help sys:help\n\ 367d29b2c44Sab \n\ 368d29b2c44Sab In fact, we could have written it even more simply, as:\n\ 369d29b2c44Sab \n\ 370d29b2c44Sab \t> help help\n\ 371d29b2c44Sab \n\ 372d29b2c44Sab To access a command from any module other than sys, you must\n\ 373d29b2c44Sab enter both the module and command names. This means that if\n\ 374d29b2c44Sab you write your own module, the module name needs to be unique,\n\ 375d29b2c44Sab but the command names it supplies can be the same names used by\n\ 376d29b2c44Sab other modules. For instance, most elfedit modules supply a command\n\ 377d29b2c44Sab named dump to display information about their part of the ELF \n\ 378d29b2c44Sab file in a style similar to that used by the Unix elfdump command.\n\ 379d29b2c44Sab Despite having the same name (dump), these are all distinct and\n\ 380d29b2c44Sab separate commands. elfedit uses the module/command pair to know\n\ 381d29b2c44Sab which one you mean.\n\ 382d29b2c44Sab \n\ 383d29b2c44Sab elfedit commands can sometimes have more than one name, or alias.\n\ 384d29b2c44Sab Usually, each command only has one name, but there are some\n\ 385d29b2c44Sab exceptions. For example, as we have already seen, sys:?, and \n\ 386d29b2c44Sab sys:man are aliases of sys:help. These are all common names\n\ 387d29b2c44Sab that different programs use to supply help. elfedit accepts all\n\ 388d29b2c44Sab of these names in the hope that a new user who doesn't know\n\ 389d29b2c44Sab elfedit yet will try one of them, and find this information.\n\ 390d29b2c44Sab \n\ 391d29b2c44Sab Most modules provide a \"default command\". This command will be\n\ 392d29b2c44Sab run if you provide only the module name. Most modules use this\n\ 393d29b2c44Sab feature to provide a shortcut for their \"dump\" command. For\n\ 394d29b2c44Sab instance, both of the following commands run dyn:dump:\n\ 395d29b2c44Sab \n\ 396d29b2c44Sab \t> dyn:\n\ 397d29b2c44Sab \t> dyn:dump\n\ 398d29b2c44Sab \n\ 399d29b2c44Sab Although the command name dump was not required, the colon\n\ 400d29b2c44Sab (:) character is. Without it, elfedit will think you mean the\n\ 401d29b2c44Sab command sys:dyn.\n\ 402d29b2c44Sab \n\ 403d29b2c44Sab Using the help command (sys:help), you can easily learn about\n\ 404d29b2c44Sab the other commands that are available. To see which modules\n\ 405d29b2c44Sab are available and a synopsis of the commands they provide:\n\ 406d29b2c44Sab \n\ 407d29b2c44Sab \t> help -s\n\ 408d29b2c44Sab \n\ 409d29b2c44Sab To see the full documentation for a command, you give the\n\ 410d29b2c44Sab name of the command to the help command as a plain argument.\n\ 411d29b2c44Sab As we saw above, this command will show you the detailed\n\ 412d29b2c44Sab documentation for the help command itself:\n\ 413d29b2c44Sab \n\ 414d29b2c44Sab \t> help help\n\ 415d29b2c44Sab \n\ 416d29b2c44Sab The arguments to help can also be module names, without the\n\ 417d29b2c44Sab command. In that case, output similar to that from the -s\n\ 418d29b2c44Sab option will be displayed for that module.\n\ 419d29b2c44Sab \n\ 420d29b2c44Sab If you are new to elfedit, we recommend that you start by learning\n\ 421d29b2c44Sab about the commands in the sys module. This will provide you with\n\ 422d29b2c44Sab such basic knowledge as how to find out the status of your session\n\ 423d29b2c44Sab (sys:status) or how to exit the elfedit program (sys:quit). Once\n\ 424d29b2c44Sab you understand the basic commands, you can branch out and learn\n\ 425d29b2c44Sab about the available modules and commands and how they can be used\n\ 426d29b2c44Sab to edit ELF files.\n" 427d29b2c44Sab 428d29b2c44Sab@ MSG_SYS_HELP_HELP " \ 429d29b2c44Sab The sys:help command provides information on elfedit modules\n\ 430d29b2c44Sab and commands:\n\ 431d29b2c44Sab \n\ 432d29b2c44Sab o\tIf called with command names as arguments, documentation\n\ 433d29b2c44Sab \tfor each given command is displayed. If the -s option is\n\ 434d29b2c44Sab \tspecified, a basic synopsis for the command is given.\n\ 435d29b2c44Sab \tOtherwise, the full documentation is shown.\n\ 436d29b2c44Sab \n\ 437d29b2c44Sab o\tIf called with module names as arguments, the name and\n\ 438d29b2c44Sab \tpurpose of each module is shown, along with a brief synopsis\n\ 439d29b2c44Sab \tof the commands the module provides.\n\ 440d29b2c44Sab \n\ 441d29b2c44Sab o\tIf called with the -s option, and no arguments, a brief\n\ 442d29b2c44Sab \tsynopsis of every command is shown, organized by module,\n\ 443d29b2c44Sab \tfor every module visible from the module load path.\n\ 444d29b2c44Sab \n\ 445d29b2c44Sab o\tIf called with no arguments, and the -s option is not\n\ 446d29b2c44Sab \tused, a brief welcome message is displayed, giving basic\n\ 447d29b2c44Sab \tinformation on elfedit operation and the use of the\n\ 448d29b2c44Sab \thelp command.\n" 449d29b2c44Sab 450d29b2c44Sab@ MSG_SYS_HELP_LOAD "\ 451d29b2c44Sab The sys:load command is used to explicitly load elfedit modules.\n\ 452d29b2c44Sab \n\ 453d29b2c44Sab Most of the functionality available in elfedit is not built\n\ 454d29b2c44Sab into the elfedit program directly. Instead, functionality\n\ 455d29b2c44Sab is contained in \"modules\", which are implemented as dynamically\n\ 456d29b2c44Sab loadable ELF sharable objects. This design allows for easy\n\ 457d29b2c44Sab extensibility of elfedit's abilities, and it is also efficient,\n\ 458d29b2c44Sab since it allows elfedit to be a relatively small program.\n\ 459d29b2c44Sab \n\ 460d29b2c44Sab elfedit will automatically load a module under the following\n\ 461d29b2c44Sab circumstances:\n\ 462d29b2c44Sab \n \ 463d29b2c44Sab o\tA command from the module needs to be run.\n\ 464d29b2c44Sab \n \ 465d29b2c44Sab o\tTo display help information about the module or a command\n\ 466d29b2c44Sab \tfound in the module.\n\ 467d29b2c44Sab \n \ 468d29b2c44Sab o\tTo perform command completion in an interactive session.\n\ 469d29b2c44Sab \tCommand completion can cause many, or all modules visible\n\ 470d29b2c44Sab \tin the module path to be loaded.\n\ 471d29b2c44Sab \n\ 472d29b2c44Sab There is usually little need for explicit module loading.\n\ 473d29b2c44Sab It is usually best to allow elfedit to load modules as they\n\ 474d29b2c44Sab are needed.\n" 475d29b2c44Sab 476d29b2c44Sab@ MSG_SYS_HELP_SET "\ 477d29b2c44Sab Set options that control how elfedit works.\n\ 478d29b2c44Sab \n\ 47908278a5eSRod Evans Most variables accept boolean (true/false) values. The sys:set\n\ 480d29b2c44Sab command accepts any of the following as a boolean value:\n\ 481d29b2c44Sab 0/1, true/false, t/f, yes/no, y/n, on/off.\n\ 482d29b2c44Sab \n\ 483d29b2c44Sab The variables, and their allowed values, are as follows:\n\ 484d29b2c44Sab \n\ 485d29b2c44Sab a\tAutoprint [boolean]\n\ 486d29b2c44Sab \tWhen autoprint is active, elfedit automatically displays\n\ 487d29b2c44Sab \tthe results of any edits after carrying them out. By default,\n\ 488d29b2c44Sab \tautoprint is on for interactive sessions, and false for\n\ 489d29b2c44Sab \tsessions where the input is not a tty. The elfedit -a option\n\ 490d29b2c44Sab \tcan be used to enable autoprint at session start.\n\ 491d29b2c44Sab \n\ 492d29b2c44Sab d\tDebug [boolean]\n\ 493d29b2c44Sab \tWhen enabled, elfedit issues detailed messages showing\n\ 494d29b2c44Sab \twhere ELF data is being accessed, and how specific edits\n\ 495d29b2c44Sab \tare being carried out. Debug mode is off by default. The\n\ 496d29b2c44Sab \telfedit -d option can be used to enable debug mode at\n\ 497d29b2c44Sab \tsession start.\n\ 498d29b2c44Sab \n\ 499d29b2c44Sab o\tOutput Style [default, simple, num]\n\ 500d29b2c44Sab \tControls the format in which elfedit prints ELF data:\n\ 501d29b2c44Sab \n\ 502d29b2c44Sab \tdefault\n\ 503d29b2c44Sab \tInformation is displayed in a style similar to that used by\n\ 504d29b2c44Sab \tthe elfdump utility. This style is best for interactive use.\n\ 505d29b2c44Sab \n\ 506d29b2c44Sab \tsimple\n\ 507d29b2c44Sab \tData is displayed in a simple format, without extraneous\n\ 508d29b2c44Sab \tinformation or formatting. Strings are displayed as is.\n\ 509d29b2c44Sab \tNumbers are displayed as symbolic constants when possible,\n\ 510d29b2c44Sab \tand in integer form otherwise.\n\ 511d29b2c44Sab \n\ 512d29b2c44Sab \tnum\n\ 513d29b2c44Sab \tInteger values are always shown in integer form. Strings\n\ 514d29b2c44Sab \tare shown as the integer offset into the containing string\n\ 515d29b2c44Sab \ttable.\n" 516d29b2c44Sab 517d29b2c44Sab@ MSG_SYS_HELP_STATUS "\ 518d29b2c44Sab The status of the current elfedit session is shown:\n\ 519d29b2c44Sab \n\ 520d29b2c44Sab o\tInput and output files\n\ 521d29b2c44Sab \n\ 522d29b2c44Sab o\tCurrent settings of the elfedit options (See 'help set'\n\ 523d29b2c44Sab \tfor more information on elfedit options)\n\ 524d29b2c44Sab \n\ 525d29b2c44Sab o\tModule load path\n\ 526d29b2c44Sab \n\ 527d29b2c44Sab o\tLoaded modules and the paths of the sharable objects\n\ 528d29b2c44Sab \tthat provide them\n" 529d29b2c44Sab 530d29b2c44Sab@ MSG_SYS_HELP_QUIT "\ 531d29b2c44Sab Exits the elfedit session.\n\ 532d29b2c44Sab \n\ 533d29b2c44Sab elfedit will normally refuse to exit a non-readonly session\n\ 534d29b2c44Sab while there are unsaved edits pending. The sys:write command\n\ 535d29b2c44Sab can be used to save such edits, or the -f option can be used to\n\ 536d29b2c44Sab discard pending edits and exit immediately.\n" 537d29b2c44Sab 538d29b2c44Sab@ MSG_SYS_HELP_UNLOAD "\ 539d29b2c44Sab The sys:unload command is used to explicitly unload elfedit modules.\n\ 540d29b2c44Sab \n\ 541d29b2c44Sab There is usually little need to explicitly unload modules.\n\ 542d29b2c44Sab \n\ 543d29b2c44Sab The description of the sys:load command discusses module loading\n\ 544d29b2c44Sab in more detail.\n" 545d29b2c44Sab 546d29b2c44Sab@ MSG_SYS_HELP_WRITE "\ 547d29b2c44Sab Writes all pending edits to the output file. Until this is done,\n\ 548d29b2c44Sab the edits are not permanent, and can be abandoned by exiting the\n\ 549d29b2c44Sab session using the -f option to sys:quit. Once sys:write is used,\n\ 550d29b2c44Sab these changes become permanent.\n" 551d29b2c44Sab 552d29b2c44Sab 553d29b2c44Sab 554d29b2c44Sab# Command option description strings for inheritable option strings 555d29b2c44Sab 556d29b2c44Sab@ MSG_STDOA_OPTDESC_AND "\ 557d29b2c44Sab The new value should be bitwised AND'd against the\n\ 558d29b2c44Sab existing value.\n" 559d29b2c44Sab 560d29b2c44Sab@ MSG_STDOA_OPTDESC_CMP "\ 561d29b2c44Sab The new value should be bitwise complemented\n\ 562d29b2c44Sab (1 values set to 0, and 0 values set to 1) before being\n\ 563d29b2c44Sab applied to the existing value.\n" 564d29b2c44Sab 565d29b2c44Sab@ MSG_STDOA_OPTDESC_O "\ 566d29b2c44Sab Overrides the global output style (as set via the sys:set\n\ 567d29b2c44Sab command) for the duration of the call to this command.\n\ 568d29b2c44Sab The valid values for the outstyle argument are: default,\n\ 569d29b2c44Sab simple, or num.\n\ 570d29b2c44Sab \n\ 571d29b2c44Sab Output styles are described in more detail in the documentation\n\ 572d29b2c44Sab for the sys:set command.\n" 573d29b2c44Sab 574d29b2c44Sab@ MSG_STDOA_OPTDESC_OR "\ 575d29b2c44Sab The new value should be bitwised OR'd against the\n\ 576d29b2c44Sab existing value.\n" 577d29b2c44Sab 578d29b2c44Sab 579d29b2c44Sab 580d29b2c44Sab 581d29b2c44Sab@ _END_ 582d29b2c44Sab 583d29b2c44Sab 584d29b2c44Sab# The following strings represent reserved words, files, pathnames and symbols. 585d29b2c44Sab# Reference to this strings is via the MSG_ORIG() macro, and thus no message 586d29b2c44Sab# translation is required. 587d29b2c44Sab 588d29b2c44Sab# Names of libelf functions 589d29b2c44Sab 590d29b2c44Sab@ MSG_ELF_BEGIN "elf_begin" 591d29b2c44Sab@ MSG_ELF_GETEHDR "elf_getehdr" 592d29b2c44Sab@ MSG_ELF_GETDATA "elf_getdata" 59362b628a6SAli Bahrami@ MSG_ELF_GETPHDRNUM "elf_getphdrnum" 594d29b2c44Sab@ MSG_ELF_GETPHDR "elf_getphdr" 595d29b2c44Sab@ MSG_ELF_GETSCN "elf_getscn" 596d29b2c44Sab@ MSG_ELF_GETSHDR "elf_getshdr" 59762b628a6SAli Bahrami@ MSG_ELF_GETSHDRNUM "elf_getshdrnum" 59862b628a6SAli Bahrami@ MSG_ELF_GETSHDRSTRNDX "elf_getshdrstrndx" 599d29b2c44Sab@ MSG_ELF_UPDATE "elf_update" 600d29b2c44Sab 601d29b2c44Sab 602d29b2c44Sab# Names of sh_type SHT_* type constants 603d29b2c44Sab 604d29b2c44Sab@ MSG_SHT_SYMTAB "SHT_SYMTAB" # 2 605d29b2c44Sab@ MSG_SHT_SYMTAB_ALT1 "symtab" 606d29b2c44Sab@ MSG_SHT_STRTAB "SHT_STRTAB" # 3 607d29b2c44Sab@ MSG_SHT_STRTAB_ALT1 "strtab" 608d29b2c44Sab@ MSG_SHT_DYNSYM "SHT_DYNSYM" # 11 609d29b2c44Sab@ MSG_SHT_DYNSYM_ALT1 "dynsym" 610d29b2c44Sab@ MSG_SHT_SUNW_LDYNSYM "SHT_SUNW_LDYNSYM" # 0x6ffffff3 611d29b2c44Sab@ MSG_SHT_SUNW_LDYNSYM_ALT1 "sunw_ldynsym" 6124f680cc6SAli Bahrami 613d29b2c44Sab 614d29b2c44Sab# ISA strings. These could be separated into separate message modules 615d29b2c44Sab# on a per-platform basis if their size became large, but this is probably 616d29b2c44Sab# cheaper for this small set of strings. 617d29b2c44Sab@ MSG_ISA_SPARC_32 "sparc" 618d29b2c44Sab@ MSG_ISA_SPARC_64 "sparcv9" 619d29b2c44Sab@ MSG_ISA_X86_32 "i386" 620d29b2c44Sab@ MSG_ISA_X86_64 "amd64" 621d29b2c44Sab 622d29b2c44Sab# Format strings 623d29b2c44Sab 624d29b2c44Sab@ MSG_FMT_BLDPATH "%s/%s" 625d29b2c44Sab@ MSG_FMT_BLDSOPATH "%s/%s.so" 626d29b2c44Sab@ MSG_FMT_MODCMD "%s:%s" 627d29b2c44Sab@ MSG_FMT_SYSCMD "[sys]:%s" 628d29b2c44Sab@ MSG_FMT_WORDVAL "%u" 629d29b2c44Sab@ MSG_FMT_WRAPUSAGE "\n%s" 630d29b2c44Sab@ MSG_FMT_SECMSGPRE "[%d: %s]" 631d29b2c44Sab 632d29b2c44Sab# Miscellaneous clutter 633d29b2c44Sab 634d29b2c44Sab@ MSG_STR_NULL "" 635d29b2c44Sab@ MSG_STR_ARG "arg" 636d29b2c44Sab@ MSG_STR_SP_BAR_SP " | " 637d29b2c44Sab@ MSG_STR_ELIPSES "..." 638*98c080d5SRod Evans@ MSG_STR_OPTIONS "ade:L:o:r" 639d29b2c44Sab@ MSG_STR_ELFEDIT "elfedit: " 640d29b2c44Sab@ MSG_STR_PROMPT "> " 641d29b2c44Sab@ MSG_STR_NL "\n" 642d29b2c44Sab@ MSG_STR_TAB "\t" 643d29b2c44Sab@ MSG_STR_BINCP "/bin/cp" 644d29b2c44Sab@ MSG_STR_BINMORE "/bin/more" 645d29b2c44Sab@ MSG_STR_PAGER "PAGER" 646d29b2c44Sab@ MSG_STR_ELFEDITINIT32 "elfedit32_init" 647d29b2c44Sab@ MSG_STR_ELFEDITINIT64 "elfedit64_init" 648d29b2c44Sab@ MSG_STR_HLPINDENT " "; 649d29b2c44Sab@ MSG_STR_HLPUSEINDENT " "; 650d29b2c44Sab@ MSG_STR_HLPSUMINDENT " "; 651d29b2c44Sab@ MSG_STR_HLPOPTARG "%s"; 652d29b2c44Sab@ MSG_STR_HLPOPTARG2 "%s %s"; 653d29b2c44Sab@ MSG_STR_ENVVAR "ELFEDIT_PATH" 654d29b2c44Sab@ MSG_STR_MODPATH "%r/usr/lib/elfedit/%I" 655d29b2c44Sab@ MSG_STR_EMPTY "" 656d29b2c44Sab@ MSG_STR_DOT "." 657d29b2c44Sab@ MSG_STR_COLON ":" 658d29b2c44Sab@ MSG_STR_SPACE " " 659d29b2c44Sab@ MSG_STR_COMMA_SP ", " 660d29b2c44Sab@ MSG_STR_CPAREN ")" 661d29b2c44Sab@ MSG_STR_DOTSO ".so" 662d29b2c44Sab@ MSG_STR_MINUS_MINUS "--" 663d29b2c44Sab@ MSG_STR_MINUS_A "-a" 664d29b2c44Sab@ MSG_STR_MINUS_AND "-and" 665d29b2c44Sab@ MSG_STR_MINUS_CMP "-cmp" 666d29b2c44Sab@ MSG_STR_MINUS_F "-f" 667d29b2c44Sab@ MSG_STR_MINUS_S "-s" 668d29b2c44Sab@ MSG_STR_MINUS_O "-o" 669d29b2c44Sab@ MSG_STR_MINUS_OR "-or" 670d29b2c44Sab@ MSG_STR_MODNAME "modname" 671d29b2c44Sab@ MSG_STR_TRUE "true" 672d29b2c44Sab@ MSG_STR_FALSE "false" 673d29b2c44Sab@ MSG_STR_ON "on" 674d29b2c44Sab@ MSG_STR_OFF "off" 675d29b2c44Sab@ MSG_STR_YES "yes" 676d29b2c44Sab@ MSG_STR_NO "no" 677d29b2c44Sab@ MSG_STR_0 "0" 678d29b2c44Sab@ MSG_STR_1 "1" 679d29b2c44Sab@ MSG_STR_A "a" 680d29b2c44Sab@ MSG_STR_D "d" 681d29b2c44Sab@ MSG_STR_F "f" 682d29b2c44Sab@ MSG_STR_N "n" 683d29b2c44Sab@ MSG_STR_O "o" 684d29b2c44Sab@ MSG_STR_OPTION "option" 685d29b2c44Sab@ MSG_STR_T "t" 686d29b2c44Sab@ MSG_STR_VALUE "value" 687d29b2c44Sab@ MSG_STR_W "w" 688d29b2c44Sab@ MSG_STR_Y "y" 689d29b2c44Sab@ MSG_STR_DEFAULT "default" 690d29b2c44Sab@ MSG_STR_MINUS_O_DEFAULT "-odefault" 691d29b2c44Sab@ MSG_STR_SIMPLE "simple" 692d29b2c44Sab@ MSG_STR_MINUS_O_SIMPLE "-osimple" 693d29b2c44Sab@ MSG_STR_NUM "num" 694d29b2c44Sab@ MSG_STR_MINUS_O_NUM "-onum" 695d29b2c44Sab@ MSG_STR_OUTSTYLE "outstyle" 696d29b2c44Sab 697d29b2c44Sab 698d29b2c44Sab# Format strings for sys:help 699d29b2c44Sab@ MSG_HLPFMT_MULTIHDR "::::::::::::::\n%s\n::::::::::::::\n" 700d29b2c44Sab@ MSG_HLPFMT_NAMDSCCOL " %-15s%s\n" 701d29b2c44Sab@ MSG_HLPFMT_NAMDSCHDR "%s - %s\n" 702d29b2c44Sab@ MSG_HLPFMT_NAMSUMHDR " %s - %s\n" 703d29b2c44Sab@ MSG_HLPFMT_PATHELT " %s\n" 704d29b2c44Sab@ MSG_HLPFMT_MULTNAM "%s (" 705d29b2c44Sab 706d29b2c44Sab# name of builtin sys: module 707d29b2c44Sab 708d29b2c44Sab@ MSG_MOD_SYS "sys" 709d29b2c44Sab 710d29b2c44Sab# Names of sys: builtin commands 711d29b2c44Sab@ MSG_SYS_CMD_HELP "help" 712d29b2c44Sab@ MSG_SYS_CMD_HELP_A1 "?" 713d29b2c44Sab@ MSG_SYS_CMD_HELP_A2 "man" 714d29b2c44Sab@ MSG_SYS_CMD_LOAD "load" 715d29b2c44Sab@ MSG_SYS_CMD_QUIT "quit" 716d29b2c44Sab@ MSG_SYS_CMD_QUIT_A1 "exit" 717d29b2c44Sab@ MSG_SYS_CMD_QUIT_A2 "bye" 718d29b2c44Sab@ MSG_SYS_CMD_SET "set" 719d29b2c44Sab@ MSG_SYS_CMD_STATUS "status" 720d29b2c44Sab@ MSG_SYS_CMD_UNLOAD "unload" 721d29b2c44Sab@ MSG_SYS_CMD_WRITE "write" 722d29b2c44Sab@ MSG_SYS_CMD_WRITE_A1 "flush" 723d29b2c44Sab@ MSG_SYS_CMD_WRITE_A2 "save" 724