diff options
Diffstat (limited to 'usr/src/lib/libipmi/common')
-rw-r--r-- | usr/src/lib/libipmi/common/ipmi_sunoem.c | 10 | ||||
-rw-r--r-- | usr/src/lib/libipmi/common/libipmi.h | 34 |
2 files changed, 35 insertions, 9 deletions
diff --git a/usr/src/lib/libipmi/common/ipmi_sunoem.c b/usr/src/lib/libipmi/common/ipmi_sunoem.c index eae8de6bb1..2498ac5751 100644 --- a/usr/src/lib/libipmi/common/ipmi_sunoem.c +++ b/usr/src/lib/libipmi/common/ipmi_sunoem.c @@ -96,9 +96,10 @@ ipmi_sunoem_led_set(ipmi_handle_t *ihp, ipmi_sdr_generic_locator_t *dev, if (check_sunoem(ihp) != 0) return (-1); - cmd.ic_sls_devaddr = dev->is_gl_slaveaddr; + cmd.ic_sls_slaveaddr = dev->is_gl_slaveaddr; + cmd.ic_sls_channel_msb = dev->is_gl_channel_msb; cmd.ic_sls_type = dev->is_gl_oem; - cmd.ic_sls_ctladdr = dev->is_gl_accessaddr; + cmd.ic_sls_accessaddr = dev->is_gl_accessaddr; cmd.ic_sls_hwinfo = dev->is_gl_oem; cmd.ic_sls_mode = mode; @@ -114,9 +115,10 @@ ipmi_sunoem_led_get(ipmi_handle_t *ihp, ipmi_sdr_generic_locator_t *dev, if (check_sunoem(ihp) != 0) return (-1); - cmd.ic_slg_devaddr = dev->is_gl_slaveaddr; + cmd.ic_slg_slaveaddr = dev->is_gl_slaveaddr; + cmd.ic_slg_channel_msb = dev->is_gl_channel_msb; cmd.ic_slg_type = dev->is_gl_oem; - cmd.ic_slg_ctladdr = dev->is_gl_accessaddr; + cmd.ic_slg_accessaddr = dev->is_gl_accessaddr; cmd.ic_slg_hwinfo = dev->is_gl_oem; return (ipmi_send_sunoem_led_get(ihp, &cmd, mode)); diff --git a/usr/src/lib/libipmi/common/libipmi.h b/usr/src/lib/libipmi/common/libipmi.h index b6ce4dac78..5358463670 100644 --- a/usr/src/lib/libipmi/common/libipmi.h +++ b/usr/src/lib/libipmi/common/libipmi.h @@ -139,7 +139,7 @@ typedef struct ipmi_deviceid { uint8_t __reserved:3; uint8_t id_dev_rev:4; #endif -#if defined(_BIT_FIELD_LTOH) +#if defined(_BIT_FIELDS_LTOH) uint8_t id_firm_major:7; uint8_t id_dev_available:1; #else @@ -403,9 +403,21 @@ extern int ipmi_set_sensor_reading(ipmi_handle_t *, #define IPMI_CMD_SUNOEM_LED_SET 0x22 typedef struct ipmi_cmd_sunoem_led_set { - uint8_t ic_sls_devaddr; /* device slave address */ +#if defined(_BIT_FIELDS_LTOH) + uint8_t ic_sls_channel_msb:1; /* device slave address */ + uint8_t ic_sls_slaveaddr:7; /* (from SDR record) */ +#else + uint8_t ic_sls_slaveaddr:7; + uint8_t ic_sls_channel_msb:1; +#endif uint8_t ic_sls_type; /* led type */ - uint8_t ic_sls_ctladdr; /* controller address */ +#if defined(_BIT_FIELDS_LTOH) + uint8_t __reserved:1; /* device access address */ + uint8_t ic_sls_accessaddr:7; /* (from SDR record) */ +#else + uint8_t ic_sls_accessaddr:7; + uint8_t __reserved:1; +#endif uint8_t ic_sls_hwinfo; /* OEM hardware info */ uint8_t ic_sls_mode; /* LED mode */ uint8_t ic_sls_force; /* force direct access */ @@ -413,9 +425,21 @@ typedef struct ipmi_cmd_sunoem_led_set { } ipmi_cmd_sunoem_led_set_t; typedef struct ipmi_cmd_sunoem_led_get { - uint8_t ic_slg_devaddr; /* device slave address */ +#if defined(_BIT_FIELDS_LTOH) + uint8_t ic_slg_channel_msb:1; /* device slave address */ + uint8_t ic_slg_slaveaddr:7; /* (from SDR record) */ +#else + uint8_t ic_slg_slaveaddr:7; + uint8_t ic_slg_channel_msb:1; +#endif uint8_t ic_slg_type; /* led type */ - uint8_t ic_slg_ctladdr; /* controller address */ +#if defined(_BIT_FIELDS_LTOH) + uint8_t __reserved:1; /* device access address */ + uint8_t ic_slg_accessaddr:7; /* (from SDR record) */ +#else + uint8_t ic_slg_accessaddr:7; + uint8_t __reserved:1; +#endif uint8_t ic_slg_hwinfo; /* OEM hardware info */ uint8_t ic_slg_force; /* force direct access */ } ipmi_cmd_sunoem_led_get_t; |