1 /* 2 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 #include <libipmi.h> 7 #include <ipmi_impl.h> 8 9 ipmi_name_trans_t ipmi_errno_table[] = { 10 { EIPMI_BMC_OPEN_FAILED, "failed to open /dev/ipmi0" }, 11 { EIPMI_BMC_PUTMSG, "failed to send message to /dev/ipmi0" }, 12 { EIPMI_BMC_GETMSG, "failed to read response from /dev/ipmi0" }, 13 { EIPMI_BMC_RESPONSE, "response from /dev/ipmi0 failed" }, 14 { EIPMI_INVALID_COMMAND, "invalid command" }, 15 { EIPMI_COMMAND_TIMEOUT, "command timeout" }, 16 { EIPMI_DATA_LENGTH_EXCEEDED, "maximum data length exceeded" }, 17 { EIPMI_SEND_FAILED, "failed to send BMC request" }, 18 { EIPMI_UNSPECIFIED, "unspecified BMC error" }, 19 { EIPMI_UNKNOWN, "unknown error" }, 20 { EIPMI_BAD_RESPONSE, "received unexpected response" }, 21 { EIPMI_BAD_RESPONSE_LENGTH, "unexpected response length" }, 22 { EIPMI_INVALID_RESERVATION, "invalid or cancelled reservation" }, 23 { EIPMI_NOT_PRESENT, "requested entity not present" }, 24 { EIPMI_INVALID_REQUEST, "malformed request data" }, 25 { EIPMI_BUSY, "service processor is busy" }, 26 { EIPMI_NOSPACE, "service processor is out of space" }, 27 { EIPMI_UNAVAILABLE, "service processor is unavailable" }, 28 { EIPMI_ACCESS, "insufficient privileges" }, 29 { EIPMI_BADPARAM, "parameter is not supported" }, 30 { EIPMI_READONLY, "attempt to write read-only param" }, 31 { EIPMI_WRITEONLY, "attempt to read write-only param" }, 32 { EIPMI_LAN_OPEN_FAILED, "failed to open socket" }, 33 { EIPMI_LAN_PING_FAILED, "RMCP Ping message failed" }, 34 { EIPMI_LAN_CHALLENGE, "failure getting challenge" }, 35 { EIPMI_LAN_SESSION, "failure activating session" }, 36 { EIPMI_LAN_SETPRIV, "failure setting session privs" }, 37 { 0, NULL } 38 }; 39 40 ipmi_name_trans_t ipmi_entity_table[] = { 41 { IPMI_ET_UNSPECIFIED, "UNSPECIFIED" }, 42 { IPMI_ET_OTHER, "OTHER" }, 43 { IPMI_ET_UNKNOWN, "UNKNOWN" }, 44 { IPMI_ET_PROCESSOR, "PROCESSOR" }, 45 { IPMI_ET_DISK, "DISK" }, 46 { IPMI_ET_PERIPHERAL, "PERIPHERAL" }, 47 { IPMI_ET_MANAGEMENT_MODULE, "MANAGEMENT_MODULE" }, 48 { IPMI_ET_MOTHERBOARD, "MOTHERBOARD" }, 49 { IPMI_ET_MEMORY_MODULE, "MEMORY_MODULE" }, 50 { IPMI_ET_PROCESSOR_MODULE, "PROCESSOR_MODULE" }, 51 { IPMI_ET_PSU, "PSU" }, 52 { IPMI_ET_CARD, "CARD" }, 53 { IPMI_ET_FRONT_PANEL, "FRONT_PANEL" }, 54 { IPMI_ET_BACK_PANEL, "BACK_PANEL" }, 55 { IPMI_ET_POWER_BOARD, "POWER_BOARD" }, 56 { IPMI_ET_BACKPLANE, "BACKPLANE" }, 57 { IPMI_ET_EXPANSION_BOARD, "EXPANSION_BOARD" }, 58 { IPMI_ET_OTHER_BOARD, "OTHER_BOARD" }, 59 { IPMI_ET_PROCESSOR_BOARD, "PROCESSOR_BOARD" }, 60 { IPMI_ET_POWER_DOMAIN, "POWER_DOMAIN" }, 61 { IPMI_ET_POWER_CONVERTER, "POWER_CONVERTER" }, 62 { IPMI_ET_POWER_MANAGEMENT, "POWER_MANAGEMENT" }, 63 { IPMI_ET_BACK_CHASSIS, "BACK_CHASSIS" }, 64 { IPMI_ET_SYSTEM_CHASSIS, "SYSTEM_CHASSIS" }, 65 { IPMI_ET_SUB_CHASSIS, "SUB_CHASSIS" }, 66 { IPMI_ET_OTHER_CHASSIS, "OTHER_CHASSIS" }, 67 { IPMI_ET_DISK_BAY, "DISK_BAY" }, 68 { IPMI_ET_PERIPHERAL_BAY, "PERIPHERAL_BAY" }, 69 { IPMI_ET_DEVICE_BAY, "DEVICE_BAY" }, 70 { IPMI_ET_FAN, "FAN" }, 71 { IPMI_ET_COOLING_DOMAIN, "COOLING_DOMAIN" }, 72 { IPMI_ET_CABLE, "CABLE" }, 73 { IPMI_ET_MEMORY_DEVICE, "MEMORY_DEVICE" }, 74 { IPMI_ET_MANAGEMENT_SOFTWARE, "MANAGEMENT_SOFTWARE" }, 75 { IPMI_ET_SYSTEM_FIRMWARE, "SYSTEM_FIRMWARE" }, 76 { IPMI_ET_OS, "OS" }, 77 { IPMI_ET_SYSTEM_BUS, "SYSTEM_BUS" }, 78 { IPMI_ET_GROUP, "GROUP" }, 79 { IPMI_ET_REMOTE, "REMOTE" }, 80 { IPMI_ET_ENVIRONMENT, "ENVIRONMENT" }, 81 { IPMI_ET_BATTERY, "BATTERY" }, 82 { IPMI_ET_BLADE, "BLADE" }, 83 { IPMI_ET_SWITCH, "SWITCH" }, 84 { IPMI_ET_PROCMEM_MODULE, "PROCMEM_MODULE" }, 85 { IPMI_ET_IO_MODULE, "IO_MODULE" }, 86 { IPMI_ET_PROCIO_MODULE, "PROCIO_MODULE" }, 87 { IPMI_ET_CONTROLLER_FIRMWARE, "CONTROLLER_FIRMWARE" }, 88 { IPMI_ET_CHANNEL, "CHANNEL" }, 89 { IPMI_ET_PCI, "PCI" }, 90 { IPMI_ET_PCIE, "PCIE" }, 91 { IPMI_ET_SCSI, "SCSI" }, 92 { IPMI_ET_SATA_SAS, "SATA_SAS" }, 93 { IPMI_ET_FSB, "FSB" }, 94 { IPMI_ET_RTC, "RTC" }, 95 { 0, NULL } 96 }; 97 98 ipmi_name_trans_t ipmi_sensor_type_table[] = { 99 { IPMI_ST_RESERVED, "RESERVED" }, 100 { IPMI_ST_TEMP, "TEMP" }, 101 { IPMI_ST_VOLTAGE, "VOLTAGE" }, 102 { IPMI_ST_CURRENT, "CURRENT" }, 103 { IPMI_ST_FAN, "FAN" }, 104 { IPMI_ST_PHYSICAL, "PHYSICAL" }, 105 { IPMI_ST_PLATFORM, "PLATFORM" }, 106 { IPMI_ST_PROCESSOR, "PROCESSOR" }, 107 { IPMI_ST_POWER_SUPPLY, "POWER_SUPPLY" }, 108 { IPMI_ST_POWER_UNIT, "POWER_UNIT" }, 109 { IPMI_ST_COOLING, "COOLING" }, 110 { IPMI_ST_OTHER, "OTHER" }, 111 { IPMI_ST_MEMORY, "MEMORY" }, 112 { IPMI_ST_BAY, "BAY" }, 113 { IPMI_ST_POST_RESIZE, "POST_RESIZE" }, 114 { IPMI_ST_FIRMWARE, "FIRMWARE" }, 115 { IPMI_ST_EVENT_LOG, "EVENT_LOG" }, 116 { IPMI_ST_WATCHDOG1, "WATCHDOG1" }, 117 { IPMI_ST_SYSTEM, "SYSTEM" }, 118 { IPMI_ST_CRITICAL, "CRITICAL" }, 119 { IPMI_ST_BUTTON, "BUTTON" }, 120 { IPMI_ST_MODULE, "MODULE" }, 121 { IPMI_ST_MICROCONTROLLER, "MICROCONTROLLER" }, 122 { IPMI_ST_CARD, "CARD" }, 123 { IPMI_ST_CHASSIS, "CHASSIS" }, 124 { IPMI_ST_CHIPSET, "CHIPSET" }, 125 { IPMI_ST_FRU, "FRU" }, 126 { IPMI_ST_CABLE, "CABLE" }, 127 { IPMI_ST_TERMINATOR, "TERMINATOR" }, 128 { IPMI_ST_BOOT, "BOOT" }, 129 { IPMI_ST_BOOT_ERROR, "BOOT_ERROR" }, 130 { IPMI_ST_BOOT_OS, "BOOT_OS" }, 131 { IPMI_ST_OS_SHUTDOWN, "OS_SHUTDOWN" }, 132 { IPMI_ST_SLOT, "SLOT" }, 133 { IPMI_ST_ACPI, "ACPI" }, 134 { IPMI_ST_WATCHDOG2, "WATCHDOG2" }, 135 { IPMI_ST_ALERT, "ALERT" }, 136 { IPMI_ST_PRESENCE, "PRESENCE" }, 137 { IPMI_ST_ASIC, "ASIC" }, 138 { IPMI_ST_LAN, "LAN" }, 139 { IPMI_ST_HEALTH, "HEALTH" }, 140 { IPMI_ST_BATTERY, "BATTERY" }, 141 { IPMI_ST_AUDIT, "AUDIT" }, 142 { IPMI_ST_VERSION, "VERSION" }, 143 { IPMI_ST_FRU_STATE, "FRU_STATE" }, 144 { 0, NULL } 145 }; 146 147 ipmi_name_trans_t ipmi_reading_type_table[] = { 148 { IPMI_RT_THRESHOLD, "THRESHOLD" }, 149 { IPMI_RT_USAGE, "USAGE" }, 150 { IPMI_RT_STATE, "STATE" }, 151 { IPMI_RT_PREDFAIL, "PREDFAIL" }, 152 { IPMI_RT_LIMIT, "LIMIT" }, 153 { IPMI_RT_PERFORMANCE, "PERFORMANCE" }, 154 { IPMI_RT_SEVERITY, "SEVERITY" }, 155 { IPMI_RT_PRESENT, "PRESENT" }, 156 { IPMI_RT_ENABLED, "ENABLED" }, 157 { IPMI_RT_AVAILABILITY, "AVAILABILITY" }, 158 { IPMI_RT_REDUNDANCY, "REDUNDANCY" }, 159 { IPMI_RT_ACPI, "ACPI" }, 160 { IPMI_RT_SPECIFIC, "SPECIFIC" }, 161 { 0, NULL } 162 }; 163 164 ipmi_name_trans_t ipmi_units_type_table[] = { 165 { IPMI_UNITS_UNSPECIFIED, "UNSPECIFIED" }, 166 { IPMI_UNITS_DEGREES_C, "DEGREES_C" }, 167 { IPMI_UNITS_DEGREES_F, "DEGREES_F" }, 168 { IPMI_UNITS_DEGREES_K, "DEGREES_K" }, 169 { IPMI_UNITS_VOLTS, "VOLTS" }, 170 { IPMI_UNITS_AMPS, "AMPS" }, 171 { IPMI_UNITS_WATTS, "WATTS" }, 172 { IPMI_UNITS_JOULES, "JOULES" }, 173 { IPMI_UNITS_COULOMBS, "COULOMBS" }, 174 { IPMI_UNITS_VA, "VA" }, 175 { IPMI_UNITS_NITS, "NITS" }, 176 { IPMI_UNITS_LUMEN, "LUMEN" }, 177 { IPMI_UNITS_LUX, "LUX" }, 178 { IPMI_UNITS_CANDELA, "CANDELA" }, 179 { IPMI_UNITS_KPA, "KPA" }, 180 { IPMI_UNITS_PSI, "PSI" }, 181 { IPMI_UNITS_NEWTON, "NEWTON" }, 182 { IPMI_UNITS_CFM, "CFM" }, 183 { IPMI_UNITS_RPM, "RPM" }, 184 { IPMI_UNITS_HZ, "HZ" }, 185 { IPMI_UNITS_MICROSEC, "MICROSEC" }, 186 { IPMI_UNITS_MILLISEC, "MILLISEC" }, 187 { IPMI_UNITS_SECS, "SECS" }, 188 { IPMI_UNITS_MIN, "MIN" }, 189 { IPMI_UNITS_HOUR, "HOUR" }, 190 { IPMI_UNITS_DAY, "DAY" }, 191 { IPMI_UNITS_WEEK, "WEEK" }, 192 { IPMI_UNITS_MIL, "MIL" }, 193 { IPMI_UNITS_INCHES, "INCHES" }, 194 { IPMI_UNITS_FEET, "FEET" }, 195 { IPMI_UNITS_CUB_INCH, "CUB_INCH" }, 196 { IPMI_UNITS_CUB_FEET, "CUB_FEET" }, 197 { IPMI_UNITS_MM, "MM" }, 198 { IPMI_UNITS_CM, "CM" }, 199 { IPMI_UNITS_METERS, "METERS" }, 200 { IPMI_UNITS_CUB_CM, "CUB_CM" }, 201 { IPMI_UNITS_CUB_METER, "CUB_METER" }, 202 { IPMI_UNITS_LITERS, "LITERS" }, 203 { IPMI_UNITS_FLUID_OUNCE, "FLUID_OUNCE" }, 204 { IPMI_UNITS_RADIANS, "RADIANS" }, 205 { IPMI_UNITS_STERADIANS, "STERADIANS" }, 206 { IPMI_UNITS_REVOLUTIONS, "REVOLUTIONS" }, 207 { IPMI_UNITS_CYCLES, "CYCLES" }, 208 { IPMI_UNITS_GRAVITIES, "GRAVITIES" }, 209 { IPMI_UNITS_OUNCE, "OUNCE" }, 210 { IPMI_UNITS_POUND, "POUND" }, 211 { IPMI_UNITS_FOOT_POUND, "FOOT_POUND" }, 212 { IPMI_UNITS_OZ_INCH, "OZ_INCH" }, 213 { IPMI_UNITS_GAUSS, "GAUSS" }, 214 { IPMI_UNITS_GILBERTS, "GILBERTS" }, 215 { IPMI_UNITS_HENRY, "HENRY" }, 216 { IPMI_UNITS_MILHENRY, "MILHENRY" }, 217 { IPMI_UNITS_FARAD, "FARAD" }, 218 { IPMI_UNITS_MICROFARAD, "MICROFARAD" }, 219 { IPMI_UNITS_OHMS, "OHMS" }, 220 { IPMI_UNITS_SIEMENS, "SIEMENS" }, 221 { IPMI_UNITS_MOLE, "MOLE" }, 222 { IPMI_UNITS_BECQUEREL, "BECQUEREL" }, 223 { IPMI_UNITS_PPM, "PPM" }, 224 { IPMI_UNITS_DECIBELS, "DECIBELS" }, 225 { IPMI_UNITS_DBA, "DBA" }, 226 { IPMI_UNITS_DBC, "DBC" }, 227 { IPMI_UNITS_GRAY, "GRAY" }, 228 { IPMI_UNITS_SIEVERT, "SIEVERT" }, 229 { IPMI_UNITS_COLOR_TEMP_K, "COLOR_TEMP_K" }, 230 { IPMI_UNITS_BIT, "BIT" }, 231 { IPMI_UNITS_KILOBIT, "KILOBIT" }, 232 { IPMI_UNITS_MEGABIT, "MEGABIT" }, 233 { IPMI_UNITS_GIGABIT, "GIGABIT" }, 234 { IPMI_UNITS_BYTE, "BYTE" }, 235 { IPMI_UNITS_KILOBYTE, "KILOBYTE" }, 236 { IPMI_UNITS_MEGABYTE, "MEGABYTE" }, 237 { IPMI_UNITS_GIGABYTE, "GIGABYTE" }, 238 { IPMI_UNITS_WORD, "WORD" }, 239 { IPMI_UNITS_DWORD, "DWORD" }, 240 { IPMI_UNITS_QWORD, "QWORD" }, 241 { IPMI_UNITS_MEMLINE, "MEMLINE" }, 242 { IPMI_UNITS_HIT, "HIT" }, 243 { IPMI_UNITS_MISS, "MISS" }, 244 { IPMI_UNITS_RETRY, "RETRY" }, 245 { IPMI_UNITS_RESET, "RESET" }, 246 { IPMI_UNITS_OVERFLOW, "OVERFLOW" }, 247 { IPMI_UNITS_UNDERRUN, "UNDERRUN" }, 248 { IPMI_UNITS_COLLISION, "COLLISION" }, 249 { IPMI_UNITS_PACKETS, "PACKETS" }, 250 { IPMI_UNITS_MESSAGES, "MESSAGES" }, 251 { IPMI_UNITS_CHARACTERS, "CHARACTERS" }, 252 { IPMI_UNITS_ERROR, "ERROR" }, 253 { IPMI_UNITS_CE, "CE" }, 254 { IPMI_UNITS_UE, "UE" }, 255 { IPMI_UNITS_FATAL_ERROR, "FATAL_ERROR" }, 256 { IPMI_UNITS_GRAMS, "GRAMS" }, 257 { 0, NULL } 258 }; 259