mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
move static objects to source file
Move static objects declared in headers to the source files where they're used. Partially resolves ipmitool/ipmitool#13 Signed-off-by: Patrick Venture <venture@google.com>
This commit is contained in:
parent
8ea6094118
commit
3e0ecc5edc
@ -194,9 +194,6 @@ struct fru_multirec_powersupply {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char * __UNUSED__(combined_voltage_desc[]) = {
|
|
||||||
"12 V", "-12 V", "5 V", "3.3 V"};
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
#endif
|
#endif
|
||||||
@ -608,18 +605,6 @@ static inline time_t ipmi_fru2time_t(void *mfg_date) {
|
|||||||
|
|
||||||
return ts;
|
return ts;
|
||||||
}
|
}
|
||||||
static const char * __UNUSED__(chassis_type_desc[]) = {
|
|
||||||
"Unspecified", "Other", "Unknown",
|
|
||||||
"Desktop", "Low Profile Desktop", "Pizza Box",
|
|
||||||
"Mini Tower", "Tower",
|
|
||||||
"Portable", "LapTop", "Notebook", "Hand Held",
|
|
||||||
"Docking Station", "All in One", "Sub Notebook",
|
|
||||||
"Space-saving", "Lunch Box", "Main Server Chassis",
|
|
||||||
"Expansion Chassis", "SubChassis", "Bus Expansion Chassis",
|
|
||||||
"Peripheral Chassis", "RAID Chassis", "Rack Mount Chassis",
|
|
||||||
"Sealed-case PC", "Multi-system Chassis", "CompactPCI",
|
|
||||||
"AdvancedTCA", "Blade", "Blade Enclosure"
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct ipmi_fru_bloc {
|
typedef struct ipmi_fru_bloc {
|
||||||
struct ipmi_fru_bloc * next;
|
struct ipmi_fru_bloc * next;
|
||||||
|
@ -125,49 +125,6 @@ enum {
|
|||||||
IPMI_LANP_CHAN_ACCESS_MODE=201,
|
IPMI_LANP_CHAN_ACCESS_MODE=201,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct lan_param {
|
|
||||||
int cmd;
|
|
||||||
int size;
|
|
||||||
char desc[24];
|
|
||||||
uint8_t * data;
|
|
||||||
int data_len;
|
|
||||||
} __UNUSED__(ipmi_lan_params[]) = {
|
|
||||||
{ IPMI_LANP_SET_IN_PROGRESS, 1, "Set in Progress", NULL, 0 },
|
|
||||||
{ IPMI_LANP_AUTH_TYPE, 1, "Auth Type Support", NULL, 0 },
|
|
||||||
{ IPMI_LANP_AUTH_TYPE_ENABLE, 5, "Auth Type Enable", NULL, 0 },
|
|
||||||
{ IPMI_LANP_IP_ADDR, 4, "IP Address", NULL, 0 },
|
|
||||||
{ IPMI_LANP_IP_ADDR_SRC, 1, "IP Address Source", NULL, 0 },
|
|
||||||
{ IPMI_LANP_MAC_ADDR, 6, "MAC Address", NULL, 0 }, /* 5 */
|
|
||||||
{ IPMI_LANP_SUBNET_MASK, 4, "Subnet Mask", NULL, 0 },
|
|
||||||
{ IPMI_LANP_IP_HEADER, 3, "IP Header", NULL, 0 },
|
|
||||||
{ IPMI_LANP_PRI_RMCP_PORT, 2, "Primary RMCP Port", NULL, 0 },
|
|
||||||
{ IPMI_LANP_SEC_RMCP_PORT, 2, "Secondary RMCP Port", NULL, 0 },
|
|
||||||
{ IPMI_LANP_BMC_ARP, 1, "BMC ARP Control", NULL, 0}, /* 10 */
|
|
||||||
{ IPMI_LANP_GRAT_ARP, 1, "Gratituous ARP Intrvl", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DEF_GATEWAY_IP, 4, "Default Gateway IP", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DEF_GATEWAY_MAC, 6, "Default Gateway MAC", NULL, 0 },
|
|
||||||
{ IPMI_LANP_BAK_GATEWAY_IP, 4, "Backup Gateway IP", NULL, 0 },
|
|
||||||
{ IPMI_LANP_BAK_GATEWAY_MAC, 6, "Backup Gateway MAC", NULL, 0 }, /* 15 */
|
|
||||||
{ IPMI_LANP_SNMP_STRING, 18, "SNMP Community String", NULL, 0 },
|
|
||||||
{ IPMI_LANP_NUM_DEST, 1, "Number of Destinations", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DEST_TYPE, 4, "Destination Type", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DEST_ADDR, 13, "Destination Addresses", NULL, 0 },
|
|
||||||
{ IPMI_LANP_VLAN_ID, 2, "802.1q VLAN ID", NULL, 0 }, /* 20 */
|
|
||||||
{ IPMI_LANP_VLAN_PRIORITY, 1, "802.1q VLAN Priority", NULL, 0 },
|
|
||||||
{ IPMI_LANP_RMCP_CIPHER_SUPPORT,1, "RMCP+ Cipher Suite Count", NULL, 0 },
|
|
||||||
{ IPMI_LANP_RMCP_CIPHERS, 16, "RMCP+ Cipher Suites", NULL, 0 },
|
|
||||||
{ IPMI_LANP_RMCP_PRIV_LEVELS, 9, "Cipher Suite Priv Max", NULL, 0 },
|
|
||||||
{ IPMI_LANP_BAD_PASS_THRESH, 6, "Bad Password Threshold", NULL, 0 },
|
|
||||||
{ IPMI_LANP_OEM_ALERT_STRING, 28, "OEM Alert String", NULL, 0 }, /* 25 */
|
|
||||||
{ IPMI_LANP_ALERT_RETRY, 1, "Alert Retry Algorithm", NULL, 0 },
|
|
||||||
{ IPMI_LANP_UTC_OFFSET, 3, "UTC Offset", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DHCP_SERVER_IP, 4, "DHCP Server IP", NULL, 0 },
|
|
||||||
{ IPMI_LANP_DHCP_SERVER_MAC, 6, "DHDP Server MAC", NULL, 0},
|
|
||||||
{ IPMI_LANP_DHCP_ENABLE, 1, "DHCP Enable", NULL, 0 }, /* 30 */
|
|
||||||
{ IPMI_LANP_CHAN_ACCESS_MODE, 2, "Channel Access Mode", NULL, 0 },
|
|
||||||
{ -1, -1, "", NULL, -1 }
|
|
||||||
};
|
|
||||||
|
|
||||||
int ipmi_lanp_main(struct ipmi_intf *, int, char **);
|
int ipmi_lanp_main(struct ipmi_intf *, int, char **);
|
||||||
|
|
||||||
uint8_t find_lan_channel(struct ipmi_intf *intf, uint8_t start);
|
uint8_t find_lan_channel(struct ipmi_intf *intf, uint8_t start);
|
||||||
|
@ -111,223 +111,6 @@ struct bit_desc_map { /* description text container */
|
|||||||
struct desc_map desc_maps[128];
|
struct desc_map desc_maps[128];
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_actions) = {
|
|
||||||
BIT_DESC_MAP_ALL,
|
|
||||||
{ {"Alert", PEF_ACTION_ALERT},
|
|
||||||
{"Power-off", PEF_ACTION_POWER_DOWN},
|
|
||||||
{"Reset", PEF_ACTION_RESET},
|
|
||||||
{"Power-cycle", PEF_ACTION_POWER_CYCLE},
|
|
||||||
{"OEM-defined", PEF_ACTION_OEM},
|
|
||||||
{"Diagnostic-interrupt", PEF_ACTION_DIAGNOSTIC_INTERRUPT},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_severities) = {
|
|
||||||
BIT_DESC_MAP_ANY,
|
|
||||||
{ {"Non-recoverable", PEF_SEVERITY_NON_RECOVERABLE},
|
|
||||||
{"Critical", PEF_SEVERITY_CRITICAL},
|
|
||||||
{"Warning", PEF_SEVERITY_WARNING},
|
|
||||||
{"OK", PEF_SEVERITY_OK},
|
|
||||||
{"Information", PEF_SEVERITY_INFORMATION},
|
|
||||||
{"Monitor", PEF_SEVERITY_MONITOR},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_sensortypes) = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"Any", 255},
|
|
||||||
{"Temperature", 1},
|
|
||||||
{"Voltage", 2},
|
|
||||||
{"Current", 3},
|
|
||||||
{"Fan", 4},
|
|
||||||
{"Chassis Intrusion", 5},
|
|
||||||
{"Platform security breach", 6},
|
|
||||||
{"Processor", 7},
|
|
||||||
{"Power supply", 8},
|
|
||||||
{"Power Unit", 9},
|
|
||||||
{"Cooling device", 10},
|
|
||||||
{"Other (units-based)", 11},
|
|
||||||
{"Memory", 12},
|
|
||||||
{"Drive Slot", 13},
|
|
||||||
{"POST memory resize", 14},
|
|
||||||
{"POST error", 15},
|
|
||||||
{"Logging disabled", 16},
|
|
||||||
{"Watchdog 1", 17},
|
|
||||||
{"System event", 18},
|
|
||||||
{"Critical Interrupt", 19},
|
|
||||||
{"Button", 20},
|
|
||||||
{"Module/board", 21},
|
|
||||||
{"uController/coprocessor", 22},
|
|
||||||
{"Add-in card", 23},
|
|
||||||
{"Chassis", 24},
|
|
||||||
{"Chipset", 25},
|
|
||||||
{"Other (FRU)", 26},
|
|
||||||
{"Cable/interconnect", 27},
|
|
||||||
{"Terminator", 28},
|
|
||||||
{"System boot", 29},
|
|
||||||
{"Boot error", 30},
|
|
||||||
{"OS boot", 31},
|
|
||||||
{"OS critical stop", 32},
|
|
||||||
{"Slot/connector", 33},
|
|
||||||
{"ACPI power state", 34},
|
|
||||||
{"Watchdog 2", 35},
|
|
||||||
{"Platform alert", 36},
|
|
||||||
{"Entity presence", 37},
|
|
||||||
{"Monitor ASIC/IC", 38},
|
|
||||||
{"LAN", 39},
|
|
||||||
{"Management subsystem health",40},
|
|
||||||
{"Battery", 41},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_1 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"<LNC", 0}, /* '<' : getting worse */
|
|
||||||
{">LNC", 1}, /* '>' : getting better */
|
|
||||||
{"<LC", 2},
|
|
||||||
{">LC", 3},
|
|
||||||
{"<LNR", 4},
|
|
||||||
{">LNR", 5},
|
|
||||||
{">UNC", 6},
|
|
||||||
{"<UNC", 7},
|
|
||||||
{">UC", 8},
|
|
||||||
{"<UC", 9},
|
|
||||||
{">UNR", 10},
|
|
||||||
{"<UNR", 11},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_2 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"transition to idle", 0},
|
|
||||||
{"transition to active", 1},
|
|
||||||
{"transition to busy", 2},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_3 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"state deasserted", 0},
|
|
||||||
{"state asserted", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_4 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"predictive failure deasserted", 0},
|
|
||||||
{"predictive failure asserted", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_5 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"limit not exceeded", 0},
|
|
||||||
{"limit exceeded", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_6 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"performance met", 0},
|
|
||||||
{"performance lags", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_7 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"ok", 0},
|
|
||||||
{"<warn", 1}, /* '<' : getting worse */
|
|
||||||
{"<fail", 2},
|
|
||||||
{"<dead", 3},
|
|
||||||
{">warn", 4}, /* '>' : getting better */
|
|
||||||
{">fail", 5},
|
|
||||||
{"dead", 6},
|
|
||||||
{"monitor", 7},
|
|
||||||
{"informational", 8},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_8 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"device removed/absent", 0},
|
|
||||||
{"device inserted/present", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_9 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"device disabled", 0},
|
|
||||||
{"device enabled", 1},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_10 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"transition to running", 0},
|
|
||||||
{"transition to in test", 1},
|
|
||||||
{"transition to power off", 2},
|
|
||||||
{"transition to online", 3},
|
|
||||||
{"transition to offline", 4},
|
|
||||||
{"transition to off duty", 5},
|
|
||||||
{"transition to degraded", 6},
|
|
||||||
{"transition to power save", 7},
|
|
||||||
{"install error", 8},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_11 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"fully redundant", 0},
|
|
||||||
{"redundancy lost", 1},
|
|
||||||
{"redundancy degraded", 2},
|
|
||||||
{"<non-redundant/sufficient", 3}, /* '<' : getting worse */
|
|
||||||
{">non-redundant/sufficient", 4}, /* '>' : getting better */
|
|
||||||
{"non-redundant/insufficient", 5},
|
|
||||||
{"<redundancy degraded", 6},
|
|
||||||
{">redundancy degraded", 7},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
pef_b2s_gentype_12 = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"D0 power state", 0},
|
|
||||||
{"D1 power state", 1},
|
|
||||||
{"D2 power state", 2},
|
|
||||||
{"D3 power state", 3},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map *
|
|
||||||
__UNUSED__(pef_b2s_generic_ER[]) = {
|
|
||||||
&pef_b2s_gentype_1,
|
|
||||||
&pef_b2s_gentype_2,
|
|
||||||
&pef_b2s_gentype_3,
|
|
||||||
&pef_b2s_gentype_4,
|
|
||||||
&pef_b2s_gentype_5,
|
|
||||||
&pef_b2s_gentype_6,
|
|
||||||
&pef_b2s_gentype_7,
|
|
||||||
&pef_b2s_gentype_8,
|
|
||||||
&pef_b2s_gentype_9,
|
|
||||||
&pef_b2s_gentype_10,
|
|
||||||
&pef_b2s_gentype_11,
|
|
||||||
&pef_b2s_gentype_12,
|
|
||||||
};
|
|
||||||
#define PEF_B2S_GENERIC_ER_ENTRIES ARRAY_SIZE(pef_b2s_generic_ER)
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
@ -355,46 +138,6 @@ struct pef_policy_entry {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_policies) = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"Match-always", PEF_POLICY_FLAGS_MATCH_ALWAYS},
|
|
||||||
{"Try-next-entry", PEF_POLICY_FLAGS_PREV_OK_SKIP},
|
|
||||||
{"Try-next-set", PEF_POLICY_FLAGS_PREV_OK_NEXT_POLICY_SET},
|
|
||||||
{"Try-next-channel", PEF_POLICY_FLAGS_PREV_OK_NEXT_CHANNEL_IN_SET},
|
|
||||||
{"Try-next-destination", PEF_POLICY_FLAGS_PREV_OK_NEXT_DESTINATION_IN_SET},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_ch_medium) = {
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_IPMB 1
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_ICMB_10 2
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_ICMB_09 3
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_LAN 4
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_SERIAL 5
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_XLAN 6
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_PCI_SMBUS 7
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_SMBUS_V1X 8
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_SMBUS_V2X 9
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_USB_V1X 10
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_USB_V2X 11
|
|
||||||
#define PEF_CH_MEDIUM_TYPE_SYSTEM 12
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"IPMB (I2C)", PEF_CH_MEDIUM_TYPE_IPMB},
|
|
||||||
{"ICMB v1.0", PEF_CH_MEDIUM_TYPE_ICMB_10},
|
|
||||||
{"ICMB v0.9", PEF_CH_MEDIUM_TYPE_ICMB_09},
|
|
||||||
{"802.3 LAN", PEF_CH_MEDIUM_TYPE_LAN},
|
|
||||||
{"Serial/Modem (RS-232)", PEF_CH_MEDIUM_TYPE_SERIAL},
|
|
||||||
{"Other LAN", PEF_CH_MEDIUM_TYPE_XLAN},
|
|
||||||
{"PCI SMBus", PEF_CH_MEDIUM_TYPE_PCI_SMBUS},
|
|
||||||
{"SMBus v1.0/1.1", PEF_CH_MEDIUM_TYPE_SMBUS_V1X},
|
|
||||||
{"SMBus v2.0", PEF_CH_MEDIUM_TYPE_SMBUS_V2X},
|
|
||||||
{"USB 1.x", PEF_CH_MEDIUM_TYPE_USB_V1X},
|
|
||||||
{"USB 2.x", PEF_CH_MEDIUM_TYPE_USB_V2X},
|
|
||||||
{"System I/F (KCS,SMIC,BT)", PEF_CH_MEDIUM_TYPE_SYSTEM},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
@ -449,15 +192,6 @@ struct pef_cfgparm_control {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_control) = {
|
|
||||||
BIT_DESC_MAP_ALL,
|
|
||||||
{ {"PEF", PEF_CONTROL_ENABLE},
|
|
||||||
{"PEF event messages", PEF_CONTROL_ENABLE_EVENT_MESSAGES},
|
|
||||||
{"PEF startup delay", PEF_CONTROL_ENABLE_STARTUP_DELAY},
|
|
||||||
{"Alert startup delay", PEF_CONTROL_ENABLE_ALERT_STARTUP_DELAY},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
@ -655,15 +389,6 @@ struct pef_lan_cfgparm_dest_type {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_lan_desttype) = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"Acknowledged", PEF_LAN_DEST_TYPE_ACK},
|
|
||||||
{"PET", PEF_LAN_DEST_TYPE_PET},
|
|
||||||
{"OEM 1", PEF_LAN_DEST_TYPE_OEM_1},
|
|
||||||
{"OEM 2", PEF_LAN_DEST_TYPE_OEM_2},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
@ -754,18 +479,6 @@ struct pef_serial_cfgparm_dest_info {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_serial_desttype) = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"Acknowledged", PEF_SERIAL_DEST_TYPE_ACK},
|
|
||||||
{"TAP page", PEF_SERIAL_DEST_TYPE_TAP},
|
|
||||||
{"PPP PET", PEF_SERIAL_DEST_TYPE_PPP},
|
|
||||||
{"Basic callback", PEF_SERIAL_DEST_TYPE_BASIC_CALLBACK},
|
|
||||||
{"PPP callback", PEF_SERIAL_DEST_TYPE_PPP_CALLBACK},
|
|
||||||
{"OEM 1", PEF_SERIAL_DEST_TYPE_OEM_1},
|
|
||||||
{"OEM 2", PEF_SERIAL_DEST_TYPE_OEM_2},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
@ -834,14 +547,6 @@ struct pef_serial_cfgparm_tap_svc_settings {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct bit_desc_map
|
|
||||||
__UNUSED__(pef_b2s_tap_svc_confirm) = {
|
|
||||||
BIT_DESC_MAP_LIST,
|
|
||||||
{ {"ACK", PEF_SERIAL_TAP_CONFIRMATION_ACK_AFTER_ETX},
|
|
||||||
{"211+ACK", PEF_SERIAL_TAP_CONFIRMATION_211_ACK_AFTER_ETX},
|
|
||||||
{"{211|213}+ACK", PEF_SERIAL_TAP_CONFIRMATION_21X_ACK_AFTER_ETX},
|
|
||||||
{NULL}
|
|
||||||
} };
|
|
||||||
|
|
||||||
#if 0 /* FYI : config parm groupings */
|
#if 0 /* FYI : config parm groupings */
|
||||||
struct pef_config_parms { /* PEF */
|
struct pef_config_parms { /* PEF */
|
||||||
|
@ -105,83 +105,6 @@ static const char *__UNUSED__(led_color_str[]) = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static const char* __UNUSED__(amc_link_type_str[]) = {
|
|
||||||
"RESERVED",
|
|
||||||
"RESERVED1",
|
|
||||||
"PCI EXPRESS",
|
|
||||||
"ADVANCED SWITCHING1",
|
|
||||||
"ADVANCED SWITCHING2",
|
|
||||||
"ETHERNET",
|
|
||||||
"RAPIDIO",
|
|
||||||
"STORAGE",
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char* __UNUSED__(amc_link_type_ext_str[][16]) = {
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_RESERVED */
|
|
||||||
{
|
|
||||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_RESERVED1 */
|
|
||||||
{
|
|
||||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_PCI_EXPRESS */
|
|
||||||
{
|
|
||||||
"Gen 1 - NSSC",
|
|
||||||
"Gen 1 - SSC",
|
|
||||||
"Gen 2 - NSSC",
|
|
||||||
"Gen 2 - SSC",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_ADVANCED_SWITCHING1 */
|
|
||||||
{
|
|
||||||
"Gen 1 - NSSC",
|
|
||||||
"Gen 1 - SSC",
|
|
||||||
"Gen 2 - NSSC",
|
|
||||||
"Gen 2 - SSC",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_ADVANCED_SWITCHING2 */
|
|
||||||
{
|
|
||||||
"Gen 1 - NSSC",
|
|
||||||
"Gen 1 - SSC",
|
|
||||||
"Gen 2 - NSSC",
|
|
||||||
"Gen 2 - SSC",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_ETHERNET */
|
|
||||||
{
|
|
||||||
"1000BASE-BX (SerDES Gigabit)",
|
|
||||||
"10GBASE-BX410 Gigabit XAUI",
|
|
||||||
"", "",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", "",
|
|
||||||
"", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_RAPIDIO */
|
|
||||||
{
|
|
||||||
"1.25 Gbaud transmission rate",
|
|
||||||
"2.5 Gbaud transmission rate",
|
|
||||||
"3.125 Gbaud transmission rate",
|
|
||||||
"", "", "", "", "",
|
|
||||||
"", "", "", "", "", "", "", ""
|
|
||||||
},
|
|
||||||
/* FRU_PICMGEXT_AMC_LINK_TYPE_STORAGE */
|
|
||||||
{
|
|
||||||
"Fibre Channel",
|
|
||||||
"Serial ATA",
|
|
||||||
"Serial Attached SCSI",
|
|
||||||
"", "", "", "", "",
|
|
||||||
"", "", "", "", "", "", "", ""
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sAmcPortState {
|
struct sAmcPortState {
|
||||||
#ifndef WORDS_BIGENDIAN
|
#ifndef WORDS_BIGENDIAN
|
||||||
unsigned short lane0 : 1;
|
unsigned short lane0 : 1;
|
||||||
|
@ -773,50 +773,7 @@ struct sdr_record_list {
|
|||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* unit description codes (IPMI v1.5 section 37.16) */
|
|
||||||
#define UNIT_MAX 0x90
|
|
||||||
static const char *__UNUSED__(unit_desc[]) = {
|
|
||||||
"unspecified",
|
|
||||||
"degrees C", "degrees F", "degrees K",
|
|
||||||
"Volts", "Amps", "Watts", "Joules",
|
|
||||||
"Coulombs", "VA", "Nits",
|
|
||||||
"lumen", "lux", "Candela",
|
|
||||||
"kPa", "PSI", "Newton",
|
|
||||||
"CFM", "RPM", "Hz",
|
|
||||||
"microsecond", "millisecond", "second", "minute", "hour",
|
|
||||||
"day", "week", "mil", "inches", "feet", "cu in", "cu feet",
|
|
||||||
"mm", "cm", "m", "cu cm", "cu m", "liters", "fluid ounce",
|
|
||||||
"radians", "steradians", "revolutions", "cycles",
|
|
||||||
"gravities", "ounce", "pound", "ft-lb", "oz-in", "gauss",
|
|
||||||
"gilberts", "henry", "millihenry", "farad", "microfarad",
|
|
||||||
"ohms", "siemens", "mole", "becquerel", "PPM", "reserved",
|
|
||||||
"Decibels", "DbA", "DbC", "gray", "sievert",
|
|
||||||
"color temp deg K", "bit", "kilobit", "megabit", "gigabit",
|
|
||||||
"byte", "kilobyte", "megabyte", "gigabyte", "word", "dword",
|
|
||||||
"qword", "line", "hit", "miss", "retry", "reset",
|
|
||||||
"overflow", "underrun", "collision", "packets", "messages",
|
|
||||||
"characters", "error", "correctable error", "uncorrectable error",};
|
|
||||||
|
|
||||||
/* sensor type codes (IPMI v1.5 table 36.3)
|
|
||||||
/ Updated to v2.0 Table 42-3, Sensor Type Codes */
|
|
||||||
#define SENSOR_TYPE_MAX 0x2C
|
#define SENSOR_TYPE_MAX 0x2C
|
||||||
static const char *__UNUSED__(sensor_type_desc[]) = {
|
|
||||||
"reserved",
|
|
||||||
"Temperature", "Voltage", "Current", "Fan",
|
|
||||||
"Physical Security", "Platform Security", "Processor",
|
|
||||||
"Power Supply", "Power Unit", "Cooling Device", "Other",
|
|
||||||
"Memory", "Drive Slot / Bay", "POST Memory Resize",
|
|
||||||
"System Firmwares", "Event Logging Disabled", "Watchdog1",
|
|
||||||
"System Event", "Critical Interrupt", "Button",
|
|
||||||
"Module / Board", "Microcontroller", "Add-in Card",
|
|
||||||
"Chassis", "Chip Set", "Other FRU", "Cable / Interconnect",
|
|
||||||
"Terminator", "System Boot Initiated", "Boot Error",
|
|
||||||
"OS Boot", "OS Critical Stop", "Slot / Connector",
|
|
||||||
"System ACPI Power State", "Watchdog2", "Platform Alert",
|
|
||||||
"Entity Presence", "Monitor ASIC", "LAN",
|
|
||||||
"Management Subsys Health", "Battery", "Session Audit",
|
|
||||||
"Version Change", "FRU State" };
|
|
||||||
|
|
||||||
struct sensor_reading {
|
struct sensor_reading {
|
||||||
char s_id[17]; /* name of the sensor */
|
char s_id[17]; /* name of the sensor */
|
||||||
|
@ -59,6 +59,46 @@ static const char *section_id[4] = {
|
|||||||
"Product Section"
|
"Product Section"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char * combined_voltage_desc[] = {
|
||||||
|
"12 V",
|
||||||
|
"-12 V",
|
||||||
|
"5 V",
|
||||||
|
"3.3 V"
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char * chassis_type_desc[] = {
|
||||||
|
"Unspecified",
|
||||||
|
"Other",
|
||||||
|
"Unknown",
|
||||||
|
"Desktop",
|
||||||
|
"Low Profile Desktop",
|
||||||
|
"Pizza Box",
|
||||||
|
"Mini Tower",
|
||||||
|
"Tower",
|
||||||
|
"Portable",
|
||||||
|
"LapTop",
|
||||||
|
"Notebook",
|
||||||
|
"Hand Held",
|
||||||
|
"Docking Station",
|
||||||
|
"All in One",
|
||||||
|
"Sub Notebook",
|
||||||
|
"Space-saving",
|
||||||
|
"Lunch Box",
|
||||||
|
"Main Server Chassis",
|
||||||
|
"Expansion Chassis",
|
||||||
|
"SubChassis",
|
||||||
|
"Bus Expansion Chassis",
|
||||||
|
"Peripheral Chassis",
|
||||||
|
"RAID Chassis",
|
||||||
|
"Rack Mount Chassis",
|
||||||
|
"Sealed-case PC",
|
||||||
|
"Multi-system Chassis",
|
||||||
|
"CompactPCI",
|
||||||
|
"AdvancedTCA",
|
||||||
|
"Blade",
|
||||||
|
"Blade Enclosure"
|
||||||
|
};
|
||||||
|
|
||||||
/* From lib/dimm_spd.c: */
|
/* From lib/dimm_spd.c: */
|
||||||
int
|
int
|
||||||
ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id);
|
ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id);
|
||||||
|
@ -57,6 +57,49 @@
|
|||||||
|
|
||||||
extern int verbose;
|
extern int verbose;
|
||||||
|
|
||||||
|
static struct lan_param {
|
||||||
|
int cmd;
|
||||||
|
int size;
|
||||||
|
char desc[24];
|
||||||
|
uint8_t * data;
|
||||||
|
int data_len;
|
||||||
|
} ipmi_lan_params[] = {
|
||||||
|
{ IPMI_LANP_SET_IN_PROGRESS, 1, "Set in Progress", NULL, 0 },
|
||||||
|
{ IPMI_LANP_AUTH_TYPE, 1, "Auth Type Support", NULL, 0 },
|
||||||
|
{ IPMI_LANP_AUTH_TYPE_ENABLE, 5, "Auth Type Enable", NULL, 0 },
|
||||||
|
{ IPMI_LANP_IP_ADDR, 4, "IP Address", NULL, 0 },
|
||||||
|
{ IPMI_LANP_IP_ADDR_SRC, 1, "IP Address Source", NULL, 0 },
|
||||||
|
{ IPMI_LANP_MAC_ADDR, 6, "MAC Address", NULL, 0 }, /* 5 */
|
||||||
|
{ IPMI_LANP_SUBNET_MASK, 4, "Subnet Mask", NULL, 0 },
|
||||||
|
{ IPMI_LANP_IP_HEADER, 3, "IP Header", NULL, 0 },
|
||||||
|
{ IPMI_LANP_PRI_RMCP_PORT, 2, "Primary RMCP Port", NULL, 0 },
|
||||||
|
{ IPMI_LANP_SEC_RMCP_PORT, 2, "Secondary RMCP Port", NULL, 0 },
|
||||||
|
{ IPMI_LANP_BMC_ARP, 1, "BMC ARP Control", NULL, 0}, /* 10 */
|
||||||
|
{ IPMI_LANP_GRAT_ARP, 1, "Gratituous ARP Intrvl", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DEF_GATEWAY_IP, 4, "Default Gateway IP", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DEF_GATEWAY_MAC, 6, "Default Gateway MAC", NULL, 0 },
|
||||||
|
{ IPMI_LANP_BAK_GATEWAY_IP, 4, "Backup Gateway IP", NULL, 0 },
|
||||||
|
{ IPMI_LANP_BAK_GATEWAY_MAC, 6, "Backup Gateway MAC", NULL, 0 }, /* 15 */
|
||||||
|
{ IPMI_LANP_SNMP_STRING, 18, "SNMP Community String", NULL, 0 },
|
||||||
|
{ IPMI_LANP_NUM_DEST, 1, "Number of Destinations", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DEST_TYPE, 4, "Destination Type", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DEST_ADDR, 13, "Destination Addresses", NULL, 0 },
|
||||||
|
{ IPMI_LANP_VLAN_ID, 2, "802.1q VLAN ID", NULL, 0 }, /* 20 */
|
||||||
|
{ IPMI_LANP_VLAN_PRIORITY, 1, "802.1q VLAN Priority", NULL, 0 },
|
||||||
|
{ IPMI_LANP_RMCP_CIPHER_SUPPORT,1, "RMCP+ Cipher Suite Count", NULL, 0 },
|
||||||
|
{ IPMI_LANP_RMCP_CIPHERS, 16, "RMCP+ Cipher Suites", NULL, 0 },
|
||||||
|
{ IPMI_LANP_RMCP_PRIV_LEVELS, 9, "Cipher Suite Priv Max", NULL, 0 },
|
||||||
|
{ IPMI_LANP_BAD_PASS_THRESH, 6, "Bad Password Threshold", NULL, 0 },
|
||||||
|
{ IPMI_LANP_OEM_ALERT_STRING, 28, "OEM Alert String", NULL, 0 }, /* 25 */
|
||||||
|
{ IPMI_LANP_ALERT_RETRY, 1, "Alert Retry Algorithm", NULL, 0 },
|
||||||
|
{ IPMI_LANP_UTC_OFFSET, 3, "UTC Offset", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DHCP_SERVER_IP, 4, "DHCP Server IP", NULL, 0 },
|
||||||
|
{ IPMI_LANP_DHCP_SERVER_MAC, 6, "DHDP Server MAC", NULL, 0},
|
||||||
|
{ IPMI_LANP_DHCP_ENABLE, 1, "DHCP Enable", NULL, 0 }, /* 30 */
|
||||||
|
{ IPMI_LANP_CHAN_ACCESS_MODE, 2, "Channel Access Mode", NULL, 0 },
|
||||||
|
{ -1, -1, "", NULL, -1 }
|
||||||
|
};
|
||||||
|
|
||||||
static void print_lan_alert_print_usage(void);
|
static void print_lan_alert_print_usage(void);
|
||||||
static void print_lan_alert_set_usage(void);
|
static void print_lan_alert_set_usage(void);
|
||||||
static void print_lan_set_usage(void);
|
static void print_lan_set_usage(void);
|
||||||
|
301
lib/ipmi_pef.c
301
lib/ipmi_pef.c
@ -79,6 +79,307 @@ static const char * pef_flag_fmts[][3] = {
|
|||||||
};
|
};
|
||||||
static const char * listitem[] = {" | %s", ",%s", "%s"};
|
static const char * listitem[] = {" | %s", ",%s", "%s"};
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_actions = {
|
||||||
|
BIT_DESC_MAP_ALL,
|
||||||
|
{ {"Alert", PEF_ACTION_ALERT},
|
||||||
|
{"Power-off", PEF_ACTION_POWER_DOWN},
|
||||||
|
{"Reset", PEF_ACTION_RESET},
|
||||||
|
{"Power-cycle", PEF_ACTION_POWER_CYCLE},
|
||||||
|
{"OEM-defined", PEF_ACTION_OEM},
|
||||||
|
{"Diagnostic-interrupt", PEF_ACTION_DIAGNOSTIC_INTERRUPT},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_severities = {
|
||||||
|
BIT_DESC_MAP_ANY,
|
||||||
|
{ {"Non-recoverable", PEF_SEVERITY_NON_RECOVERABLE},
|
||||||
|
{"Critical", PEF_SEVERITY_CRITICAL},
|
||||||
|
{"Warning", PEF_SEVERITY_WARNING},
|
||||||
|
{"OK", PEF_SEVERITY_OK},
|
||||||
|
{"Information", PEF_SEVERITY_INFORMATION},
|
||||||
|
{"Monitor", PEF_SEVERITY_MONITOR},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_sensortypes = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"Any", 255},
|
||||||
|
{"Temperature", 1},
|
||||||
|
{"Voltage", 2},
|
||||||
|
{"Current", 3},
|
||||||
|
{"Fan", 4},
|
||||||
|
{"Chassis Intrusion", 5},
|
||||||
|
{"Platform security breach", 6},
|
||||||
|
{"Processor", 7},
|
||||||
|
{"Power supply", 8},
|
||||||
|
{"Power Unit", 9},
|
||||||
|
{"Cooling device", 10},
|
||||||
|
{"Other (units-based)", 11},
|
||||||
|
{"Memory", 12},
|
||||||
|
{"Drive Slot", 13},
|
||||||
|
{"POST memory resize", 14},
|
||||||
|
{"POST error", 15},
|
||||||
|
{"Logging disabled", 16},
|
||||||
|
{"Watchdog 1", 17},
|
||||||
|
{"System event", 18},
|
||||||
|
{"Critical Interrupt", 19},
|
||||||
|
{"Button", 20},
|
||||||
|
{"Module/board", 21},
|
||||||
|
{"uController/coprocessor", 22},
|
||||||
|
{"Add-in card", 23},
|
||||||
|
{"Chassis", 24},
|
||||||
|
{"Chipset", 25},
|
||||||
|
{"Other (FRU)", 26},
|
||||||
|
{"Cable/interconnect", 27},
|
||||||
|
{"Terminator", 28},
|
||||||
|
{"System boot", 29},
|
||||||
|
{"Boot error", 30},
|
||||||
|
{"OS boot", 31},
|
||||||
|
{"OS critical stop", 32},
|
||||||
|
{"Slot/connector", 33},
|
||||||
|
{"ACPI power state", 34},
|
||||||
|
{"Watchdog 2", 35},
|
||||||
|
{"Platform alert", 36},
|
||||||
|
{"Entity presence", 37},
|
||||||
|
{"Monitor ASIC/IC", 38},
|
||||||
|
{"LAN", 39},
|
||||||
|
{"Management subsystem health", 40},
|
||||||
|
{"Battery", 41},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_1 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"<LNC", 0}, /* '<' : getting worse */
|
||||||
|
{">LNC", 1}, /* '>' : getting better */
|
||||||
|
{"<LC", 2},
|
||||||
|
{">LC", 3},
|
||||||
|
{"<LNR", 4},
|
||||||
|
{">LNR", 5},
|
||||||
|
{">UNC", 6},
|
||||||
|
{"<UNC", 7},
|
||||||
|
{">UC", 8},
|
||||||
|
{"<UC", 9},
|
||||||
|
{">UNR", 10},
|
||||||
|
{"<UNR", 11},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_2 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"transition to idle", 0},
|
||||||
|
{"transition to active", 1},
|
||||||
|
{"transition to busy", 2},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_3 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"state deasserted", 0},
|
||||||
|
{"state asserted", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_4 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"predictive failure deasserted", 0},
|
||||||
|
{"predictive failure asserted", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_5 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"limit not exceeded", 0},
|
||||||
|
{"limit exceeded", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_6 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"performance met", 0},
|
||||||
|
{"performance lags", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_7 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"ok", 0},
|
||||||
|
{"<warn", 1}, /* '<' : getting worse */
|
||||||
|
{"<fail", 2},
|
||||||
|
{"<dead", 3},
|
||||||
|
{">warn", 4}, /* '>' : getting better */
|
||||||
|
{">fail", 5},
|
||||||
|
{"dead", 6},
|
||||||
|
{"monitor", 7},
|
||||||
|
{"informational", 8},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_8 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"device removed/absent", 0},
|
||||||
|
{"device inserted/present", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_9 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"device disabled", 0},
|
||||||
|
{"device enabled", 1},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_10 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"transition to running", 0},
|
||||||
|
{"transition to in test", 1},
|
||||||
|
{"transition to power off", 2},
|
||||||
|
{"transition to online", 3},
|
||||||
|
{"transition to offline", 4},
|
||||||
|
{"transition to off duty", 5},
|
||||||
|
{"transition to degraded", 6},
|
||||||
|
{"transition to power save", 7},
|
||||||
|
{"install error", 8},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_11 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"fully redundant", 0},
|
||||||
|
{"redundancy lost", 1},
|
||||||
|
{"redundancy degraded", 2},
|
||||||
|
{"<non-redundant/sufficient", 3}, /* '<' : getting worse */
|
||||||
|
{">non-redundant/sufficient", 4}, /* '>' : getting better */
|
||||||
|
{"non-redundant/insufficient", 5},
|
||||||
|
{"<redundancy degraded", 6},
|
||||||
|
{">redundancy degraded", 7},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_gentype_12 = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"D0 power state", 0},
|
||||||
|
{"D1 power state", 1},
|
||||||
|
{"D2 power state", 2},
|
||||||
|
{"D3 power state", 3},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map *
|
||||||
|
pef_b2s_generic_ER[] = {
|
||||||
|
&pef_b2s_gentype_1,
|
||||||
|
&pef_b2s_gentype_2,
|
||||||
|
&pef_b2s_gentype_3,
|
||||||
|
&pef_b2s_gentype_4,
|
||||||
|
&pef_b2s_gentype_5,
|
||||||
|
&pef_b2s_gentype_6,
|
||||||
|
&pef_b2s_gentype_7,
|
||||||
|
&pef_b2s_gentype_8,
|
||||||
|
&pef_b2s_gentype_9,
|
||||||
|
&pef_b2s_gentype_10,
|
||||||
|
&pef_b2s_gentype_11,
|
||||||
|
&pef_b2s_gentype_12,
|
||||||
|
};
|
||||||
|
#define PEF_B2S_GENERIC_ER_ENTRIES ARRAY_SIZE(pef_b2s_generic_ER)
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_policies = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"Match-always", PEF_POLICY_FLAGS_MATCH_ALWAYS},
|
||||||
|
{"Try-next-entry", PEF_POLICY_FLAGS_PREV_OK_SKIP},
|
||||||
|
{"Try-next-set", PEF_POLICY_FLAGS_PREV_OK_NEXT_POLICY_SET},
|
||||||
|
{"Try-next-channel", PEF_POLICY_FLAGS_PREV_OK_NEXT_CHANNEL_IN_SET},
|
||||||
|
{"Try-next-destination", PEF_POLICY_FLAGS_PREV_OK_NEXT_DESTINATION_IN_SET},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_ch_medium = {
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_IPMB 1
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_ICMB_10 2
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_ICMB_09 3
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_LAN 4
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_SERIAL 5
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_XLAN 6
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_PCI_SMBUS 7
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_SMBUS_V1X 8
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_SMBUS_V2X 9
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_USB_V1X 10
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_USB_V2X 11
|
||||||
|
#define PEF_CH_MEDIUM_TYPE_SYSTEM 12
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"IPMB (I2C)", PEF_CH_MEDIUM_TYPE_IPMB},
|
||||||
|
{"ICMB v1.0", PEF_CH_MEDIUM_TYPE_ICMB_10},
|
||||||
|
{"ICMB v0.9", PEF_CH_MEDIUM_TYPE_ICMB_09},
|
||||||
|
{"802.3 LAN", PEF_CH_MEDIUM_TYPE_LAN},
|
||||||
|
{"Serial/Modem (RS-232)", PEF_CH_MEDIUM_TYPE_SERIAL},
|
||||||
|
{"Other LAN", PEF_CH_MEDIUM_TYPE_XLAN},
|
||||||
|
{"PCI SMBus", PEF_CH_MEDIUM_TYPE_PCI_SMBUS},
|
||||||
|
{"SMBus v1.0/1.1", PEF_CH_MEDIUM_TYPE_SMBUS_V1X},
|
||||||
|
{"SMBus v2.0", PEF_CH_MEDIUM_TYPE_SMBUS_V2X},
|
||||||
|
{"USB 1.x", PEF_CH_MEDIUM_TYPE_USB_V1X},
|
||||||
|
{"USB 2.x", PEF_CH_MEDIUM_TYPE_USB_V2X},
|
||||||
|
{"System I/F (KCS,SMIC,BT)", PEF_CH_MEDIUM_TYPE_SYSTEM},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_control = {
|
||||||
|
BIT_DESC_MAP_ALL,
|
||||||
|
{ {"PEF", PEF_CONTROL_ENABLE},
|
||||||
|
{"PEF event messages", PEF_CONTROL_ENABLE_EVENT_MESSAGES},
|
||||||
|
{"PEF startup delay", PEF_CONTROL_ENABLE_STARTUP_DELAY},
|
||||||
|
{"Alert startup delay", PEF_CONTROL_ENABLE_ALERT_STARTUP_DELAY},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_lan_desttype = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"Acknowledged", PEF_LAN_DEST_TYPE_ACK},
|
||||||
|
{"PET", PEF_LAN_DEST_TYPE_PET},
|
||||||
|
{"OEM 1", PEF_LAN_DEST_TYPE_OEM_1},
|
||||||
|
{"OEM 2", PEF_LAN_DEST_TYPE_OEM_2},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_serial_desttype = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"Acknowledged", PEF_SERIAL_DEST_TYPE_ACK},
|
||||||
|
{"TAP page", PEF_SERIAL_DEST_TYPE_TAP},
|
||||||
|
{"PPP PET", PEF_SERIAL_DEST_TYPE_PPP},
|
||||||
|
{"Basic callback", PEF_SERIAL_DEST_TYPE_BASIC_CALLBACK},
|
||||||
|
{"PPP callback", PEF_SERIAL_DEST_TYPE_PPP_CALLBACK},
|
||||||
|
{"OEM 1", PEF_SERIAL_DEST_TYPE_OEM_1},
|
||||||
|
{"OEM 2", PEF_SERIAL_DEST_TYPE_OEM_2},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
|
static struct bit_desc_map
|
||||||
|
pef_b2s_tap_svc_confirm = {
|
||||||
|
BIT_DESC_MAP_LIST,
|
||||||
|
{ {"ACK", PEF_SERIAL_TAP_CONFIRMATION_ACK_AFTER_ETX},
|
||||||
|
{"211+ACK", PEF_SERIAL_TAP_CONFIRMATION_211_ACK_AFTER_ETX},
|
||||||
|
{"{211|213}+ACK", PEF_SERIAL_TAP_CONFIRMATION_21X_ACK_AFTER_ETX},
|
||||||
|
{NULL}
|
||||||
|
} };
|
||||||
|
|
||||||
static int ipmi_pef2_list_filters(struct ipmi_intf *);
|
static int ipmi_pef2_list_filters(struct ipmi_intf *);
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
@ -62,6 +62,83 @@ typedef enum picmg_card_type {
|
|||||||
PICMG_CARD_TYPE_RESERVED
|
PICMG_CARD_TYPE_RESERVED
|
||||||
} t_picmg_card_type ;
|
} t_picmg_card_type ;
|
||||||
|
|
||||||
|
static const char* amc_link_type_str[] = {
|
||||||
|
"RESERVED",
|
||||||
|
"RESERVED1",
|
||||||
|
"PCI EXPRESS",
|
||||||
|
"ADVANCED SWITCHING1",
|
||||||
|
"ADVANCED SWITCHING2",
|
||||||
|
"ETHERNET",
|
||||||
|
"RAPIDIO",
|
||||||
|
"STORAGE",
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char* amc_link_type_ext_str[][16] = {
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_RESERVED */
|
||||||
|
{
|
||||||
|
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_RESERVED1 */
|
||||||
|
{
|
||||||
|
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_PCI_EXPRESS */
|
||||||
|
{
|
||||||
|
"Gen 1 - NSSC",
|
||||||
|
"Gen 1 - SSC",
|
||||||
|
"Gen 2 - NSSC",
|
||||||
|
"Gen 2 - SSC",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_ADVANCED_SWITCHING1 */
|
||||||
|
{
|
||||||
|
"Gen 1 - NSSC",
|
||||||
|
"Gen 1 - SSC",
|
||||||
|
"Gen 2 - NSSC",
|
||||||
|
"Gen 2 - SSC",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_ADVANCED_SWITCHING2 */
|
||||||
|
{
|
||||||
|
"Gen 1 - NSSC",
|
||||||
|
"Gen 1 - SSC",
|
||||||
|
"Gen 2 - NSSC",
|
||||||
|
"Gen 2 - SSC",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_ETHERNET */
|
||||||
|
{
|
||||||
|
"1000BASE-BX (SerDES Gigabit)",
|
||||||
|
"10GBASE-BX410 Gigabit XAUI",
|
||||||
|
"", "",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", "",
|
||||||
|
"", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_RAPIDIO */
|
||||||
|
{
|
||||||
|
"1.25 Gbaud transmission rate",
|
||||||
|
"2.5 Gbaud transmission rate",
|
||||||
|
"3.125 Gbaud transmission rate",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "", "", "", ""
|
||||||
|
},
|
||||||
|
/* FRU_PICMGEXT_AMC_LINK_TYPE_STORAGE */
|
||||||
|
{
|
||||||
|
"Fibre Channel",
|
||||||
|
"Serial ATA",
|
||||||
|
"Serial Attached SCSI",
|
||||||
|
"", "", "", "", "",
|
||||||
|
"", "", "", "", "", "", "", ""
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/* This is the version of the PICMG Extension */
|
/* This is the version of the PICMG Extension */
|
||||||
static t_picmg_card_type PicmgCardType = PICMG_CARD_TYPE_RESERVED;
|
static t_picmg_card_type PicmgCardType = PICMG_CARD_TYPE_RESERVED;
|
||||||
|
|
||||||
|
146
lib/ipmi_sdr.c
146
lib/ipmi_sdr.c
@ -68,6 +68,152 @@ static struct sdr_record_list *sdr_list_head = NULL;
|
|||||||
static struct sdr_record_list *sdr_list_tail = NULL;
|
static struct sdr_record_list *sdr_list_tail = NULL;
|
||||||
static struct ipmi_sdr_iterator *sdr_list_itr = NULL;
|
static struct ipmi_sdr_iterator *sdr_list_itr = NULL;
|
||||||
|
|
||||||
|
/* unit description codes (IPMI v1.5 section 37.16) */
|
||||||
|
#define UNIT_MAX 0x90
|
||||||
|
static const char *unit_desc[] = {
|
||||||
|
"unspecified",
|
||||||
|
"degrees C",
|
||||||
|
"degrees F",
|
||||||
|
"degrees K",
|
||||||
|
"Volts",
|
||||||
|
"Amps",
|
||||||
|
"Watts",
|
||||||
|
"Joules",
|
||||||
|
"Coulombs",
|
||||||
|
"VA",
|
||||||
|
"Nits",
|
||||||
|
"lumen",
|
||||||
|
"lux",
|
||||||
|
"Candela",
|
||||||
|
"kPa",
|
||||||
|
"PSI",
|
||||||
|
"Newton",
|
||||||
|
"CFM",
|
||||||
|
"RPM",
|
||||||
|
"Hz",
|
||||||
|
"microsecond",
|
||||||
|
"millisecond",
|
||||||
|
"second",
|
||||||
|
"minute",
|
||||||
|
"hour",
|
||||||
|
"day",
|
||||||
|
"week",
|
||||||
|
"mil",
|
||||||
|
"inches",
|
||||||
|
"feet",
|
||||||
|
"cu in",
|
||||||
|
"cu feet",
|
||||||
|
"mm",
|
||||||
|
"cm",
|
||||||
|
"m",
|
||||||
|
"cu cm",
|
||||||
|
"cu m",
|
||||||
|
"liters",
|
||||||
|
"fluid ounce",
|
||||||
|
"radians",
|
||||||
|
"steradians",
|
||||||
|
"revolutions",
|
||||||
|
"cycles",
|
||||||
|
"gravities",
|
||||||
|
"ounce",
|
||||||
|
"pound",
|
||||||
|
"ft-lb",
|
||||||
|
"oz-in",
|
||||||
|
"gauss",
|
||||||
|
"gilberts",
|
||||||
|
"henry",
|
||||||
|
"millihenry",
|
||||||
|
"farad",
|
||||||
|
"microfarad",
|
||||||
|
"ohms",
|
||||||
|
"siemens",
|
||||||
|
"mole",
|
||||||
|
"becquerel",
|
||||||
|
"PPM",
|
||||||
|
"reserved",
|
||||||
|
"Decibels",
|
||||||
|
"DbA",
|
||||||
|
"DbC",
|
||||||
|
"gray",
|
||||||
|
"sievert",
|
||||||
|
"color temp deg K",
|
||||||
|
"bit",
|
||||||
|
"kilobit",
|
||||||
|
"megabit",
|
||||||
|
"gigabit",
|
||||||
|
"byte",
|
||||||
|
"kilobyte",
|
||||||
|
"megabyte",
|
||||||
|
"gigabyte",
|
||||||
|
"word",
|
||||||
|
"dword",
|
||||||
|
"qword",
|
||||||
|
"line",
|
||||||
|
"hit",
|
||||||
|
"miss",
|
||||||
|
"retry",
|
||||||
|
"reset",
|
||||||
|
"overflow",
|
||||||
|
"underrun",
|
||||||
|
"collision",
|
||||||
|
"packets",
|
||||||
|
"messages",
|
||||||
|
"characters",
|
||||||
|
"error",
|
||||||
|
"correctable error",
|
||||||
|
"uncorrectable error"
|
||||||
|
};
|
||||||
|
|
||||||
|
/* sensor type codes (IPMI v1.5 table 36.3)
|
||||||
|
/ Updated to v2.0 Table 42-3, Sensor Type Codes */
|
||||||
|
static const char *sensor_type_desc[] = {
|
||||||
|
"reserved",
|
||||||
|
"Temperature",
|
||||||
|
"Voltage",
|
||||||
|
"Current",
|
||||||
|
"Fan",
|
||||||
|
"Physical Security",
|
||||||
|
"Platform Security",
|
||||||
|
"Processor",
|
||||||
|
"Power Supply",
|
||||||
|
"Power Unit",
|
||||||
|
"Cooling Device",
|
||||||
|
"Other",
|
||||||
|
"Memory",
|
||||||
|
"Drive Slot / Bay",
|
||||||
|
"POST Memory Resize",
|
||||||
|
"System Firmwares",
|
||||||
|
"Event Logging Disabled",
|
||||||
|
"Watchdog1",
|
||||||
|
"System Event",
|
||||||
|
"Critical Interrupt",
|
||||||
|
"Button",
|
||||||
|
"Module / Board",
|
||||||
|
"Microcontroller",
|
||||||
|
"Add-in Card",
|
||||||
|
"Chassis",
|
||||||
|
"Chip Set",
|
||||||
|
"Other FRU",
|
||||||
|
"Cable / Interconnect",
|
||||||
|
"Terminator",
|
||||||
|
"System Boot Initiated",
|
||||||
|
"Boot Error",
|
||||||
|
"OS Boot",
|
||||||
|
"OS Critical Stop",
|
||||||
|
"Slot / Connector",
|
||||||
|
"System ACPI Power State",
|
||||||
|
"Watchdog2",
|
||||||
|
"Platform Alert",
|
||||||
|
"Entity Presence",
|
||||||
|
"Monitor ASIC",
|
||||||
|
"LAN",
|
||||||
|
"Management Subsys Health",
|
||||||
|
"Battery",
|
||||||
|
"Session Audit",
|
||||||
|
"Version Change",
|
||||||
|
"FRU State"
|
||||||
|
};
|
||||||
|
|
||||||
void printf_sdr_usage();
|
void printf_sdr_usage();
|
||||||
|
|
||||||
/* From src/plugins/ipmi_intf.c: */
|
/* From src/plugins/ipmi_intf.c: */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user