1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright (c) 2017 Peter Tribble. 24 */ 25 26 /* 27 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 28 * Use is subject to license terms. 29 */ 30 31 #ifndef _PKGADM_MSGS_H 32 #define _PKGADM_MSGS_H 33 34 35 #include <libintl.h> 36 37 #ifdef __cplusplus 38 extern "C" { 39 #endif 40 41 #ifdef lint 42 #define gettext(x) x 43 #endif 44 45 /* generic messages */ 46 #define MSG_BAD_SUB gettext(\ 47 "\"%s\" is not a valid subcommand") 48 49 #define MSG_MISSING_OPERAND gettext(\ 50 "-%c requires an operand") 51 52 #define MSG_USAGE gettext(\ 53 "usage:\n" \ 54 "\n" \ 55 "pkgadm dbstatus [-R rootpath]\n" \ 56 "\n" \ 57 "\t- Returns 'text' - the text install database in use since Solaris 2.0\n" \ 58 "\t is the current install database in use.\n" \ 59 "\n" \ 60 "pkgadm sync [-R rootpath] [-q]\n" \ 61 "\n" \ 62 "\t- Writes the contents file and rolls the contents log file.\n" \ 63 "\t- Optionally forces the contents file server to quit [-q].\n" \ 64 "\n" \ 65 "pkgadm -V\n" \ 66 "\t- Displays packaging tools version\n" \ 67 "\n" \ 68 "pkgadm -?\n" \ 69 "\t- Shows this help message\n") 70 71 #define MSG_WARNING gettext(\ 72 "WARNING") 73 74 #define MSG_ERROR gettext(\ 75 "ERROR") 76 77 #define MSG_T_OPTION_ARGS gettext(\ 78 "-t option takes 2 or 3 arguments, not %d!\n") 79 80 #define MSG_T_RESULT_TWO gettext(\ 81 "result <%d>: <%s> ~= <%s>\n") 82 83 #define MSG_T_RESULT_THREE gettext(\ 84 "required <%d> actual <%d> <%30s> ~- <%30s>\n") 85 86 #define MSG_ERROR gettext(\ 87 "ERROR") 88 89 /* warnings */ 90 91 #define CREATE_PKGDIR_WARN gettext(\ 92 "Creating directory <%s>\n") 93 94 #define MSG_VALID_STALE gettext(\ 95 "Removing stale lock on <%s> pid <%ld> zid <%ld>") 96 97 /* errors */ 98 99 #define MSG_INTERNAL gettext(\ 100 "Intenal Error <%s>") 101 102 #define MSG_OPEN gettext(\ 103 "Cannot open <%s> for reading") 104 105 #define MSG_OPEN_WRITE gettext(\ 106 "Cannot open <%s> for writing") 107 108 #define ERR_LOG_FAIL gettext(\ 109 "Failed to log message using format <%s>") 110 111 #define MSG_ZONES_MISSING_REQUEST gettext(\ 112 "Must specify operation to perform\n") 113 114 #define MSG_LOCK_ALTROOT_CANTCREATE gettext(\ 115 "lock: cannot create alternative root directory <%s>: %s\n") 116 117 #define MSG_LOCK_ALTROOT_NONEXIST gettext(\ 118 "lock: argument to -R <%s> is not a directory: %s\n") 119 120 #define MSG_LOCK_ROOTDIR_INVALID gettext(\ 121 "lock: lock file base directory <%s> not valid: %s\n") 122 123 #define MSG_LOCK_WFLAG_BADINT gettext(\ 124 "The integer value <%s> given to the -W option includes an " \ 125 "invalid character: \"%c\"\n") 126 127 #define MSG_LOCK_pFLAG_BADINT gettext(\ 128 "The integer value <%s> given to the -p option includes an " \ 129 "invalid character: \"%c\"\n") 130 131 #define MSG_LOCK_zFLAG_BADINT gettext(\ 132 "The integer value <%s> given to the -z option includes an " \ 133 "invalid character: \"%c\"\n") 134 135 #define MSG_LOCK_nFLAG_BADINT gettext(\ 136 "The integer value <%s> given to the -n option includes an " \ 137 "invalid character: \"%c\"\n") 138 139 #define MSG_LOCK_ar_TOGETHER gettext(\ 140 "lock: The -a and -r options cannot be used together: "\ 141 "specify only one.\n") 142 143 #define MSG_LOCK_kARG_TOOLONG gettext(\ 144 "Argument to -k is <%d> characters: may not exceed <%d> characters\n") 145 146 #define MSG_LOCK_oARG_TOOLONG gettext(\ 147 "Argument to -o is <%d> characters: may not exceed <%d> characters\n") 148 149 #define MSG_LOCK_RARG_NOT_ABSOLUTE gettext(\ 150 "Argument to -R must be absolute path: %s") 151 152 #define MSG_LOCK_WFLAG_ERROR gettext(\ 153 "Argument to -W has problem with wait interval <%s>: %s") 154 155 #define MSG_LOCK_pFLAG_ERROR gettext(\ 156 "Argument to -p has problem with process i.d. value <%s>: %s") 157 158 #define MSG_LOCK_zFLAG_ERROR gettext(\ 159 "Argument to -p has problem with zone i.d. value <%s>: %s") 160 161 #define MSG_LOCK_nFLAG_ERROR gettext(\ 162 "Argument to -n has problem with maximum number of retries " \ 163 "value <%s>: %s") 164 165 #define MSG_LOCK_es_TOGETHER gettext(\ 166 "lock: The -e and -s options cannot be used together: "\ 167 "specify only one.\n") 168 169 #define MSG_LOCK_ak_TOGETHER gettext(\ 170 "lock: The -k option cannot be used with the -a option.\n") 171 172 #define MSG_LOCK_e_without_a gettext(\ 173 "lock: The -e option can only be used with the -a option.\n") 174 175 #define MSG_LOCK_s_without_a gettext(\ 176 "lock: The -s option can only be used with the -a option.\n") 177 178 #define MSG_LOCK_ACQUIRE_KEYMISMATCH gettext(\ 179 "cannot acquire %s lock on <%s>: object locked and specified key " \ 180 "does not match") 181 182 #define MSG_LOCK_ACQUIRE_ERROR gettext(\ 183 "cannot determine if object <%s> key <%s> is locked: %s") 184 185 #define MSG_LOCK_ACQUIRE_TIMEDOUT gettext(\ 186 "cannot acquire %s lock on <%s> key <%s>: object locked, no key " \ 187 "was specified, and the wait timed out") 188 189 #define MSG_LOCK_ACQUIRE_WAITING gettext(\ 190 "object <%s> is locked: waiting for object to become available") 191 192 #define MSG_LOCK_ACQUIRE_REOPEN_FAILED gettext(\ 193 "cannot reopen lock file after waiting for lock on object " \ 194 "<%s> to be released") 195 196 #define MSG_LOCK_RELEASE_NOTLOCKED gettext(\ 197 "cannot release lock on <%s> key <%s>: object not locked and " \ 198 "a key was specified") 199 200 #define MSG_LOCK_RELEASE_LOCKED gettext(\ 201 "cannot release lock on <%s> key <%s>: object locked but no " \ 202 "key was specified") 203 204 #define MSG_LOCK_RELEASE_NOTFOUND gettext(\ 205 "cannot release lock on <%s> key <%s>: object is not locked") 206 207 #define MSG_LOCK_RELEASE_KEYMISMATCH gettext(\ 208 "cannot release lock on <%s>: object locked and specified key " \ 209 "does not match") 210 211 #define MSG_LOCK_RELEASE_ERROR gettext(\ 212 "cannot determine if object <%s> key <%s> is locked") 213 214 #define MSG_LOCK_EXEC_ACCESS gettext(\ 215 "cannot execute command <%s>: %s") 216 217 #define MSG_LOCK_EXEC_NOINPUT gettext(\ 218 "cannot open input file <%s>: %s") 219 220 #define MSG_LOCK_EXEC_NOPIPE gettext(\ 221 "cannot create pipe: %s") 222 223 #define MSG_LOCK_FINDLOCK_LSEEK_FAILURE gettext(\ 224 "cannot find lock <%s> key <%s>: lseek failure: %s") 225 226 #define MSG_LOCK_ADDLOCK_PWRITE_FAILURE gettext(\ 227 "cannot create %s lock for object <%s>: pwrite failure: %s") 228 229 #define MSG_LOCK_ADDLOCK_LSEEK_FAILURE gettext(\ 230 "cannot create %s lock for object <%s>: lseek failure: %s") 231 232 #define MSG_LOCK_INCLOCK_PWRITE_FAILURE gettext(\ 233 "cannot increment %s lock for object <%s>: pwrite failure: %s") 234 235 #define MSG_LOCK_DECLOCK_PWRITE_FAILURE gettext(\ 236 "cannot decrement %s lock for object <%s>: pwrite failure: %s") 237 238 #define MSG_LOCK_DECLOCK_PREAD_FAILURE gettext(\ 239 "cannot decrement %s lock for object <%s>: pread failure: %s") 240 241 #define MSG_LOCK_DECLOCK_LSEEK_FAILURE gettext(\ 242 "cannot decrement %s lock for object <%s>: lseek failure: %s") 243 244 #define MSG_LOCK_DECLOCK_FTRUNCATE_FAILURE gettext(\ 245 "cannot decrement %s lock for object <%s>: ftruncate failure: %s") 246 247 /* 248 * i18n: 249 * next two messages grouped together 250 */ 251 252 #define MSG_LOCK_ACQUIRE_BUSY_QUASI gettext(\ 253 "cannot acquire %s lock on <%s> key <%s>: object matches wildcard " \ 254 "<%s> lock%s") 255 #define MSG_LOCK_ACQUIRE_BUSY_FIRST gettext(\ 256 "cannot acquire %s lock on <%s> key <%s>: object <%s> is locked <%s>%s") 257 258 /* 259 * i18n: note this message may be appended to the previous message 260 * by supplying it to the final "%s" at the end of the line above; 261 * that is either: 262 * cannot acquire %s lock on <%s> key <%s>: object is locked <%s> 263 * or: 264 * cannot acquire %s lock on <%s> [...] is locked <%s> and no key specified 265 */ 266 267 #define MSG_LOCK_ACQUIRE_BUSY_ADDITIONAL gettext(\ 268 " and no key specified") 269 270 /* 271 * i18n: note these two "messages" are inserted into other 272 * messages, such as: 273 * cannot acquire %s lock on <%s> 274 * will be either: 275 * cannot acquire shared lock on <%s> 276 * or 277 * cannot acquire exclusive lock on <%s> 278 */ 279 280 #define MSG_LOCK_EXC gettext(\ 281 "exclusive") 282 283 #define MSG_LOCK_SHR gettext(\ 284 "shared") 285 286 /* 287 * i18n: note these messages are "debugging" messages and will normally 288 * not be seen unless debugging has been enabled for problem root causing 289 * so they are not meant to be perfectly "human readable" 290 */ 291 292 #define MSG_VALID_NOPID gettext(\ 293 "validate lock <%s>: VALID (no pid)") 294 295 #define MSG_VALID_BADZID gettext(\ 296 "validate lock <%s>: VALID (lock zid <%ld> this zid <%ld>)") 297 298 #define MSG_VALID_ZIDOK gettext(\ 299 "validate lock <%s>: zone i.d.s match (lock zid <%ld> this zid <%ld>)") 300 301 #define MSG_VALID_OK gettext(\ 302 "validate lock <%s> pid <%ld> path <%s>: VALID") 303 304 #define MSG_VALID_NOTOK gettext(\ 305 "validate lock <%s> pid <%ld> path <%s>: NOT VALID") 306 307 #define MSG_LCKMCH_ENTRY gettext(\ 308 "lockMatch: *** BEGIN *** compare objects <%s> <%s>") 309 310 #define MSG_LCKMCH_FSTNODE gettext(\ 311 "lockMatch: first lock node (%d) <%s>") 312 313 #define MSG_LCKMCH_SCNDNODE gettext(\ 314 "lockMatch: second lock node (%d) <%s>") 315 316 #define MSG_LCKMCH_NODES gettext(\ 317 "lockMatch: first lock node <%s> prefix <%s> (%d) second lock " \ 318 " node <%s> prefix <%s> (%d)") 319 320 #define MSG_LCKMCH_DIRMCH gettext(\ 321 "lockMatch: no prefix direct comparison: match: <%s> <%s>") 322 323 #define MSG_LCKMCH_DIRNOMCH gettext(\ 324 "lockMatch: no prefix direct comparison: NO MATCH: <%s> <%s>") 325 326 #define MSG_LCKMCH_PFXMCH gettext(\ 327 "lockMatch: prefix comparison: match: <%s> <%s>") 328 329 #define MSG_LCKMCH_PFXNOMCH gettext(\ 330 "lockMatch: prefix comparison: NO MATCH: <%s> <%s>") 331 332 #define MSG_LCKMCH_FSTLCK gettext(\ 333 "lockMatch: first lock index (%d) last scanned node <%s> prefix " \ 334 "<%s> (%d)") 335 336 #define MSG_LCKMCH_SCNDLCK gettext(\ 337 "lockMatch: second lock index (%d) last scanned node <%s> prefix " \ 338 "<%s> (%d)") 339 340 #define MSG_LCKMCH_ABSNOMCH gettext(\ 341 "lockMatch: absolute locks: NO MATCH: <%s> <%s>") 342 343 #define MSG_LCKMCH_OBJMCH gettext(\ 344 "lockMatch: object locks: match: <%s> <%s>") 345 346 #define MSG_LCKMCH_OVLPNOMCH gettext(\ 347 "lockMatch: nonmatching overlapping objects: <%s> <%s> before " \ 348 "(%d) <%s>") 349 350 #define MSG_LCKMCH_SAME gettext(\ 351 "lockMatch: locks begin with same node - compare: <%s> <%s> at <%s>") 352 353 #define MSG_LCKMCH_SCNDSUB gettext(\ 354 "lockMatch: second lock <%s> subset of <%s> at (%d) <%s>") 355 356 #define MSG_LCKMCH_FRSTSUB gettext(\ 357 "lockMatch: first lock <%s> subset of <%s> at (%d) <%s>") 358 359 #define MSG_LCKMCH_DONTKNOW gettext(\ 360 "lockMatch: unable to determine how to compare locks: <%s> <%s>: " \ 361 "using direct comparision") 362 363 #define MSG_LCKMCH_READY gettext(\ 364 "lockMatch: comparing nodes locks <%s> <%s>") 365 366 #define MSG_LCKMCH_NODEFAIL gettext(\ 367 "lockMatch: node (%d) comparison: NO MATCH: <%s> != <%s>") 368 369 #define MSG_LCKMCH_NODEOK gettext(\ 370 "lockMatch: node (%d) comparision: match: <%s> == <%s>") 371 372 #define MSG_LCKMCH_MATCHOK gettext(\ 373 "lockMatch: locks match: <%s> == <%s>") 374 375 #define MSG_LOCK_EXEC_RESULTS gettext(\ 376 "command <%s> executed: pid <%d> errno <0x%04x> status <0x%04x> " \ 377 "final status <0x%04x> output <%s>") 378 379 #define MSG_LOCK_GENUID_INTERNAL gettext(\ 380 "generated new unique key using date: %s") 381 382 #define MSG_LOCK_DECLOCK_DECING gettext(\ 383 "decrement <%s> lock count record <%d> count <%d>") 384 385 #define MSG_LOCK_DECLOCK_DONE gettext(\ 386 "decrement lock record <%d> count <%d> object <%s> key <%s>") 387 388 #define MSG_LOCK_DECLOCK_REMOVE gettext(\ 389 "decrement lock remove record lastPos %ld last record %d " \ 390 "current record %d") 391 392 #define MSG_LOCK_DECLOCK_LASTONE gettext(\ 393 "decrement lock removing <%s> lock last record <%d> " \ 394 "truncating to <%ld>") 395 396 #define MSG_LOCK_DECLOCK_REMOVING gettext(\ 397 "decrement lock removing record <%d> last record <%d> " \ 398 "truncating to <%ld>") 399 400 #define MSG_LOCK_INCLOCK_ENTRY gettext(\ 401 "increment <%s> lock count record <%d> count <%d>") 402 403 #define MSG_LOCK_INCLOCK_DONE gettext(\ 404 "increment lock record <%d> count <%d> object <%s> key <%s>") 405 406 #define MSG_LOCK_ADDLOCK_ADDING gettext(\ 407 "adding %s lock pos <%d> object <%s> key <%s> pid <%ld> zid <%ld>") 408 409 #define MSG_LOCK_FINDLOCK_ENTRY gettext(\ 410 "find lock object <%s> key <%s>") 411 412 #define MSG_LOCK_FINDLOCK_READRECORD gettext(\ 413 "find lock read record <%d>: count <%d> object <%s> key <%s> pid " \ 414 "<%ld> zid <%ld>") 415 416 #define MSG_LOCK_FINDLOCK_FOUND gettext(\ 417 "find lock record found") 418 419 #define MSG_LOCK_FINDLOCK_NOTFOUND gettext(\ 420 "find lock record not found") 421 422 #define MSG_LOCK_OPENFILE_ENTRY gettext(\ 423 "open lock file root <%s> file <%s>") 424 425 #define MSG_LOCK_OPENFILE_SLEEPING gettext(\ 426 "open lock file busy <%s>: sleeping <%d>") 427 428 #define MSG_LOCK_OPENFILE_FAILURE gettext(\ 429 "open lock file could not be opened: %s") 430 431 #define MSG_LOCK_OPENFILE_SLEEP2 gettext(\ 432 "open lock file cannot obtain record lock <%s>: sleeping <%d>") 433 434 #define MSG_LOCK_OPENFILE_FAIL2 gettext(\ 435 "open lock file could not obtain record lock: <%s>") 436 437 #define MSG_LOCK_OPENFILE_SUCCESS gettext(\ 438 "open lock file: opened and locked fd <%d>") 439 440 #define MSG_LOCK_STATUS_READRECORD gettext(\ 441 "status read record <%d>: count <%d> object <%s> key <%s> pid <%ld> " \ 442 "zid <%ld>") 443 444 #define MSG_LOCK_STATUS_ENTRY gettext(\ 445 "status key=<%s> object=<%s>") 446 447 #define MSG_LOCK_RELEASE_FOUND gettext(\ 448 "object <%s> key <%s> is locked: decrementing lock count") 449 450 #define MSG_LOCK_RELEASE_ENTRY gettext(\ 451 "release lock key=<%s> object=<%s> quiet=<%d>") 452 453 #define MSG_LOCK_RELEASE_FINDRESULT gettext(\ 454 "release lock result <%d> record <%d>") 455 456 #define MSG_LOCK_ACQUIRE_FOUND_INC gettext(\ 457 "object <%s> key <%s> is locked: incrementing <%s> lock count") 458 459 #define MSG_LOCK_ACQUIRE_ENTRY gettext(\ 460 "acquire lock key=<%s> object=<%s> quiet=<%d> exclusive=<%d>") 461 462 #define MSG_LOCK_ACQUIRE_FINDRESULT gettext(\ 463 "acquire %s lock result <%d> record <%d>") 464 465 #define MSG_LOCK_ACQUIRE_LOCKED_SHARED gettext(\ 466 "object <%s> key <%s> is locked but shared: incrementing lock count") 467 468 #define MSG_LOCK_ACQUIRE_NOTLOCKED gettext(\ 469 "cannot acquire %s lock on <%s> key <%s>: object not locked " \ 470 "and non-matching key specified") 471 472 #define MSG_LOCK_ACQUIRE_NOTFOUND gettext(\ 473 "acquiring %s lock on object <%s>") 474 475 #ifdef __cplusplus 476 } 477 #endif 478 479 #endif /* _PKGADM_MSGS_H */ 480