diff --git a/include/ipmitool/ipmi_channel.h b/include/ipmitool/ipmi_channel.h index d9be57e..41f1b88 100644 --- a/include/ipmitool/ipmi_channel.h +++ b/include/ipmitool/ipmi_channel.h @@ -89,10 +89,16 @@ struct channel_info_t { uint8_t aux_info[2]; }; -/* (22.23) Get Channel Access */ + +/* (22.22 / 22.23) Set/Get Channel Access */ +typedef enum { + ALERTING_ENABLED = 0, + ALERTING_DISABLED = (1 << 5) /* See Table 22 */ +} alerting_t; + struct channel_access_t { uint8_t access_mode; - uint8_t alerting; + alerting_t alerting; uint8_t channel; uint8_t per_message_auth; uint8_t privilege_limit; diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c index 16c0d9a..fe0046f 100644 --- a/lib/ipmi_lanp.c +++ b/lib/ipmi_lanp.c @@ -1026,10 +1026,10 @@ ipmi_set_alert_enable(struct ipmi_intf *intf, uint8_t channel, uint8_t enable) channel); return (-1); } - if (enable != 0) { - channel_access.alerting = 1; + if (enable) { + channel_access.alerting = ALERTING_ENABLED; } else { - channel_access.alerting = 0; + channel_access.alerting = ALERTING_DISABLED; } /* non-volatile */ ccode = _ipmi_set_channel_access(intf, channel_access, 1, 0);