1#!/bin/sh 2 3# 4# CDDL HEADER START 5# 6# The contents of this file are subject to the terms of the 7# Common Development and Distribution License (the "License"). 8# You may not use this file except in compliance with the License. 9# 10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11# or http://www.opensolaris.org/os/licensing. 12# See the License for the specific language governing permissions 13# and limitations under the License. 14# 15# When distributing Covered Code, include this CDDL HEADER in each 16# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17# If applicable, add the following below this CDDL HEADER, with the 18# fields enclosed by brackets "[]" replaced with your own identifying 19# information: Portions Copyright [yyyy] [name of copyright owner] 20# 21# CDDL HEADER END 22# 23# 24# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25# Use is subject to license terms. 26# 27#ident "%Z%%M% %I% %E% SMI" 28 29# 30# Construct translation tables for defines in libtopo.h to translate to readable 31# strings. 32# 33 34if [ $# -ne 1 ]; then 35 echo >&2 "USAGE: $0 <path to libtopo.h>" 36 exit 1 37fi 38 39if [ -r $1 ]; then 40 libtopo_h=$1 41else 42 echo >&2 "USAGE: $0 <path to libtopo.h>" 43 echo >&2 "Make sure libtopo.h exists and is readable" 44 exit 1 45fi 46 47echo "\ 48/* 49 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 50 * Use is subject to license terms. 51 */ 52 53#pragma ident \"%Z%%M% %I% %E% SMI\" 54 55#include <libtopo.h> 56#include \"topo_mod.h\" 57#include \"topo_subr.h\"" 58 59# 60# Sensor types. 61# 62echo "\ntopo_name_trans_t topo_sensor_type_table[] = {" 63 64pattern="#define TOPO_SENSOR_TYPE_\([A-Z0-9_]*\).*\$" 65replace=" { TOPO_SENSOR_TYPE_\1, \"\1\" }," 66 67cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 68 69echo "\t{ 0, NULL } 70};" 71 72# 73# Units 74# 75echo "\ntopo_name_trans_t topo_units_type_table[] = {" 76 77pattern=" TOPO_SENSOR_UNITS_\([A-Z0-9_]*\).*\$" 78replace=" { TOPO_SENSOR_UNITS_\1, \"\1\" }," 79 80cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 81 82echo "\t{ 0, NULL } 83};" 84 85# 86# Indicator (LED) types 87# 88echo "\ntopo_name_trans_t topo_led_type_table[] = {" 89 90pattern=" TOPO_LED_TYPE_\([A-Z0-9_]*\).*\$" 91replace=" { TOPO_LED_TYPE_\1, \"\1\" }," 92 93cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 94 95echo "\t{ 0, NULL } 96};" 97 98# 99# Indicator (LED) states 100# 101echo "\ntopo_name_trans_t topo_led_states_table[] = {" 102 103pattern=" TOPO_LED_STATE_\([A-Z0-9_]*\).*\$" 104replace=" { TOPO_LED_STATE_\1, \"\1\" }," 105 106cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 107 108echo "\t{ 0, NULL } 109};" 110 111# 112# Discrete sensor states 113# 114echo "\ntopo_name_trans_t topo_sensor_states_physical_table[] = {" 115 116pattern="#define TOPO_SENSOR_STATE_PHYSICAL_\([A-Z0-9_]*\).*\$" 117replace=" { TOPO_SENSOR_STATE_PHYSICAL_\1, \"\1\" }," 118 119cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 120 121echo "\t{ 0, NULL } 122};" 123 124echo "\ntopo_name_trans_t topo_sensor_states_platform_table[] = {" 125 126pattern="#define TOPO_SENSOR_STATE_PLATFORM_\([A-Z0-9_]*\).*\$" 127replace=" { TOPO_SENSOR_STATE_PLATFORM_\1, \"\1\" }," 128 129cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 130 131echo "\t{ 0, NULL } 132};" 133 134echo "\ntopo_name_trans_t topo_sensor_states_processor_table[] = {" 135 136pattern="#define TOPO_SENSOR_STATE_PROCESSOR_\([A-Z0-9_]*\).*\$" 137replace=" { TOPO_SENSOR_STATE_PROCESSOR_\1, \"\1\" }," 138 139cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 140 141echo "\t{ 0, NULL } 142};" 143 144echo "\ntopo_name_trans_t topo_sensor_states_power_supply_table[] = {" 145 146pattern="#define TOPO_SENSOR_STATE_POWER_SUPPLY_\([A-Z0-9_]*\).*\$" 147replace=" { TOPO_SENSOR_STATE_POWER_SUPPLY_\1, \"\1\" }," 148 149cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 150 151echo "\t{ 0, NULL } 152};" 153 154echo "\ntopo_name_trans_t topo_sensor_states_power_unit_table[] = {" 155 156pattern="#define TOPO_SENSOR_STATE_POWER_UNIT_\([A-Z0-9_]*\).*\$" 157replace=" { TOPO_SENSOR_STATE_POWER_UNIT_\1, \"\1\" }," 158 159cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 160 161echo "\t{ 0, NULL } 162};" 163 164echo "\ntopo_name_trans_t topo_sensor_states_memory_table[] = {" 165 166pattern="#define TOPO_SENSOR_STATE_MEMORY_\([A-Z0-9_]*\).*\$" 167replace=" { TOPO_SENSOR_STATE_MEMORY_\1, \"\1\" }," 168 169cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 170 171echo "\t{ 0, NULL } 172};" 173 174echo "\ntopo_name_trans_t topo_sensor_states_bay_table[] = {" 175 176pattern="#define TOPO_SENSOR_STATE_BAY_\([A-Z0-9_]*\).*\$" 177replace=" { TOPO_SENSOR_STATE_BAY_\1, \"\1\" }," 178 179cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 180 181echo "\t{ 0, NULL } 182};" 183 184echo "\ntopo_name_trans_t topo_sensor_states_firmware_table[] = {" 185 186pattern="#define TOPO_SENSOR_STATE_FIRMWARE_\([A-Z0-9_]*\).*\$" 187replace=" { TOPO_SENSOR_STATE_FIRMWARE_\1, \"\1\" }," 188 189cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 190 191echo "\t{ 0, NULL } 192};" 193 194echo "\ntopo_name_trans_t topo_sensor_states_event_log_table[] = {" 195 196pattern="#define TOPO_SENSOR_STATE_EVENT_LOG_\([A-Z0-9_]*\).*\$" 197replace=" { TOPO_SENSOR_STATE_EVENT_LOG_\1, \"\1\" }," 198 199cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 200 201echo "\t{ 0, NULL } 202};" 203 204echo "\ntopo_name_trans_t topo_sensor_states_watchdog1_table[] = {" 205 206pattern="#define TOPO_SENSOR_STATE_WATCHDOG_\([A-Z0-9_]*\).*\$" 207replace=" { TOPO_SENSOR_STATE_WATCHDOG_\1, \"\1\" }," 208 209cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 210 211echo "\t{ 0, NULL } 212};" 213 214echo "\ntopo_name_trans_t topo_sensor_states_system_table[] = {" 215 216pattern="#define TOPO_SENSOR_STATE_SYSTEM_\([A-Z0-9_]*\).*\$" 217replace=" { TOPO_SENSOR_STATE_SYSTEM_\1, \"\1\" }," 218 219cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 220 221echo "\t{ 0, NULL } 222};" 223 224echo "\ntopo_name_trans_t topo_sensor_states_critical_table[] = {" 225 226pattern="#define TOPO_SENSOR_STATE_CRITICAL_\([A-Z0-9_]*\).*\$" 227replace=" { TOPO_SENSOR_STATE_CRITICAL_\1, \"\1\" }," 228 229cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 230 231echo "\t{ 0, NULL } 232};" 233 234echo "\ntopo_name_trans_t topo_sensor_states_button_table[] = {" 235 236pattern="#define TOPO_SENSOR_STATE_BUTTON_\([A-Z0-9_]*\).*\$" 237replace=" { TOPO_SENSOR_STATE_BUTTON_\1, \"\1\" }," 238 239cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 240 241echo "\t{ 0, NULL } 242};" 243 244echo "\ntopo_name_trans_t topo_sensor_states_cable_table[] = {" 245 246pattern="#define TOPO_SENSOR_STATE_CABLE_\([A-Z0-9_]*\).*\$" 247replace=" { TOPO_SENSOR_STATE_CABLE_\1, \"\1\" }," 248 249cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 250 251echo "\t{ 0, NULL } 252};" 253 254echo "\ntopo_name_trans_t topo_sensor_states_boot_state_table[] = {" 255 256pattern="#define TOPO_SENSOR_STATE_BOOT_STATE_\([A-Z0-9_]*\).*\$" 257replace=" { TOPO_SENSOR_STATE_BOOT_STATE_\1, \"\1\" }," 258 259cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 260 261echo "\t{ 0, NULL } 262};" 263 264echo "\ntopo_name_trans_t topo_sensor_states_boot_error_table[] = {" 265 266pattern="#define TOPO_SENSOR_STATE_BOOT_ERROR_\([A-Z0-9_]*\).*\$" 267replace=" { TOPO_SENSOR_STATE_BOOT_ERROR_\1, \"\1\" }," 268 269cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 270 271echo "\t{ 0, NULL } 272};" 273 274echo "\ntopo_name_trans_t topo_sensor_states_boot_os_table[] = {" 275 276pattern="#define TOPO_SENSOR_STATE_BOOT_OS_\([A-Z0-9_]*\).*\$" 277replace=" { TOPO_SENSOR_STATE_BOOT_OS_\1, \"\1\" }," 278 279cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 280 281echo "\t{ 0, NULL } 282};" 283 284echo "\ntopo_name_trans_t topo_sensor_states_os_table[] = {" 285 286pattern="#define TOPO_SENSOR_STATE_OS_\([A-Z0-9_]*\).*\$" 287replace=" { TOPO_SENSOR_STATE_OS_\1, \"\1\" }," 288 289cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 290 291echo "\t{ 0, NULL } 292};" 293 294echo "\ntopo_name_trans_t topo_sensor_states_slot_table[] = {" 295 296pattern="#define TOPO_SENSOR_STATE_SLOT_\([A-Z0-9_]*\).*\$" 297replace=" { TOPO_SENSOR_STATE_SLOT_\1, \"\1\" }," 298 299cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 300 301echo "\t{ 0, NULL } 302};" 303 304echo "\ntopo_name_trans_t topo_sensor_states_acpi_table[] = {" 305 306pattern="#define TOPO_SENSOR_STATE_ACPI_\([A-Z0-9_]*\).*\$" 307replace=" { TOPO_SENSOR_STATE_ACPI_\1, \"\1\" }," 308 309cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 310 311echo "\t{ 0, NULL } 312};" 313 314echo "\ntopo_name_trans_t topo_sensor_states_watchdog2_table[] = {" 315 316pattern="#define TOPO_SENSOR_STATE_WATCHDOG2_\([A-Z0-9_]*\).*\$" 317replace=" { TOPO_SENSOR_STATE_WATCHDOG2_\1, \"\1\" }," 318 319cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 320 321echo "\t{ 0, NULL } 322};" 323 324echo "\ntopo_name_trans_t topo_sensor_states_alert_table[] = {" 325 326pattern="#define TOPO_SENSOR_STATE_ALERT_\([A-Z0-9_]*\).*\$" 327replace=" { TOPO_SENSOR_STATE_ALERT_\1, \"\1\" }," 328 329cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 330 331echo "\t{ 0, NULL } 332};" 333 334echo "\ntopo_name_trans_t topo_sensor_states_presence_table[] = {" 335 336pattern="#define TOPO_SENSOR_STATE_PRESENCE_\([A-Z0-9_]*\).*\$" 337replace=" { TOPO_SENSOR_STATE_PRESENCE_\1, \"\1\" }," 338 339cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 340 341echo "\t{ 0, NULL } 342};" 343 344echo "\ntopo_name_trans_t topo_sensor_states_lan_table[] = {" 345 346pattern="#define TOPO_SENSOR_STATE_LAN_\([A-Z0-9_]*\).*\$" 347replace=" { TOPO_SENSOR_STATE_LAN_\1, \"\1\" }," 348 349cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 350 351echo "\t{ 0, NULL } 352};" 353 354echo "\ntopo_name_trans_t topo_sensor_states_health_table[] = {" 355 356pattern="#define TOPO_SENSOR_STATE_HEALTH_\([A-Z0-9_]*\).*\$" 357replace=" { TOPO_SENSOR_STATE_HEALTH_\1, \"\1\" }," 358 359cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 360 361echo "\t{ 0, NULL } 362};" 363 364echo "\ntopo_name_trans_t topo_sensor_states_battery_table[] = {" 365 366pattern="#define TOPO_SENSOR_STATE_BATTERY_\([A-Z0-9_]*\).*\$" 367replace=" { TOPO_SENSOR_STATE_BATTERY_\1, \"\1\" }," 368 369cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 370 371echo "\t{ 0, NULL } 372};" 373 374echo "\ntopo_name_trans_t topo_sensor_states_audit_table[] = {" 375 376pattern="#define TOPO_SENSOR_STATE_AUDIT_\([A-Z0-9_]*\).*\$" 377replace=" { TOPO_SENSOR_STATE_AUDIT_\1, \"\1\" }," 378 379cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 380 381echo "\t{ 0, NULL } 382};" 383 384echo "\ntopo_name_trans_t topo_sensor_states_version_table[] = {" 385 386pattern="#define TOPO_SENSOR_STATE_VERSION_\([A-Z0-9_]*\).*\$" 387replace=" { TOPO_SENSOR_STATE_VERSION_\1, \"\1\" }," 388 389cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 390 391echo "\t{ 0, NULL } 392};" 393 394echo "\ntopo_name_trans_t topo_sensor_states_fru_state_table[] = {" 395 396pattern="#define TOPO_SENSOR_STATE_FRU_STATE_\([A-Z0-9_]*\).*\$" 397replace=" { TOPO_SENSOR_STATE_FRU_STATE_\1, \"\1\" }," 398 399cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 400 401echo "\t{ 0, NULL } 402};" 403 404echo "\ntopo_name_trans_t topo_sensor_states_thresh_table[] = {" 405 406pattern="#define TOPO_SENSOR_STATE_THRESH_\([A-Z0-9_]*\).*\$" 407replace=" { TOPO_SENSOR_STATE_THRESH_\1, \"\1\" }," 408 409cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 410 411echo "\t{ 0, NULL } 412};" 413 414echo "\ntopo_name_trans_t topo_sensor_states_generic_usage_table[] = {" 415 416pattern="#define TOPO_SENSOR_STATE_GENERIC_USAGE_\([A-Z0-9_]*\).*\$" 417replace=" { TOPO_SENSOR_STATE_GENERIC_USAGE_\1, \"\1\" }," 418 419cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 420 421echo "\t{ 0, NULL } 422};" 423 424echo "\ntopo_name_trans_t topo_sensor_states_generic_state_table[] = {" 425 426pattern="#define TOPO_SENSOR_STATE_GENERIC_STATE_\([A-Z0-9_]*\).*\$" 427replace=" { TOPO_SENSOR_STATE_GENERIC_STATE_\1, \"\1\" }," 428 429cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 430 431echo "\t{ 0, NULL } 432};" 433 434 435echo "\ntopo_name_trans_t topo_sensor_states_generic_predfail_table[] = {" 436 437pattern="#define TOPO_SENSOR_STATE_GENERIC_PREDFAIL_\([A-Z0-9_]*\).*\$" 438replace=" { TOPO_SENSOR_STATE_GENERIC_PREDFAIL_\1, \"\1\" }," 439 440cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 441 442echo "\t{ 0, NULL } 443};" 444 445echo "\ntopo_name_trans_t topo_sensor_states_generic_limit_table[] = {" 446 447pattern="#define TOPO_SENSOR_STATE_GENERIC_LIMIT_\([A-Z0-9_]*\).*\$" 448replace=" { TOPO_SENSOR_STATE_GENERIC_LIMIT_\1, \"\1\" }," 449 450cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 451 452echo "\t{ 0, NULL } 453};" 454 455echo "\ntopo_name_trans_t topo_sensor_states_generic_perf_table[] = {" 456 457pattern="#define TOPO_SENSOR_STATE_GENERIC_PERFORMANCE_\([A-Z0-9_]*\).*\$" 458replace=" { TOPO_SENSOR_STATE_GENERIC_PERFORMANCE_\1, \"\1\" }," 459 460cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 461 462echo "\t{ 0, NULL } 463};" 464 465echo "\ntopo_name_trans_t topo_sensor_states_severity_table[] = {" 466 467pattern="#define TOPO_SENSOR_STATE_SEVERITY_\([A-Z0-9_]*\).*\$" 468replace=" { TOPO_SENSOR_STATE_SEVERITY_\1, \"\1\" }," 469 470cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 471 472echo "\t{ 0, NULL } 473};" 474 475echo "\ntopo_name_trans_t topo_sensor_states_generic_presence_table[] = {" 476 477pattern="#define TOPO_SENSOR_STATE_GENERIC_PRESENCE_\([A-Z0-9_]*\).*\$" 478replace=" { TOPO_SENSOR_STATE_GENERIC_PRESENCE_\1, \"\1\" }," 479 480cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 481 482echo "\t{ 0, NULL } 483};" 484 485echo "\ntopo_name_trans_t topo_sensor_states_generic_avail_table[] = {" 486 487pattern="#define TOPO_SENSOR_STATE_GENERIC_AVAILABILITY_\([A-Z0-9_]*\).*\$" 488replace=" { TOPO_SENSOR_STATE_GENERIC_AVAILABILITY_\1, \"\1\" }," 489 490cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 491 492echo "\t{ 0, NULL } 493};" 494 495echo "\ntopo_name_trans_t topo_sensor_states_generic_status_table[] = {" 496 497pattern="#define TOPO_SENSOR_STATE_GENERIC_STATUS_\([A-Z0-9_]*\).*\$" 498replace=" { TOPO_SENSOR_STATE_GENERIC_STATUS_\1, \"\1\" }," 499 500cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 501 502echo "\t{ 0, NULL } 503};" 504 505echo "\ntopo_name_trans_t topo_sensor_states_generic_acpi_pwr_table[] = {" 506 507pattern="#define TOPO_SENSOR_STATE_GENERIC_ACPI_PWR_STATE_\([A-Z0-9_]*\).*\$" 508replace=" { TOPO_SENSOR_STATE_GENERIC_ACPI_PWR_STATE_\1, \"\1\" }," 509 510cat $libtopo_h | sed -n "s/$pattern/$replace/p" || exit 1 511 512echo "\t{ 0, NULL } 513};" 514