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