From a344afc0da58007a5290c85bafd55dbea4508817 Mon Sep 17 00:00:00 2001 From: Emily Shaffer Date: Thu, 13 Apr 2017 15:09:39 -0700 Subject: sensorhandler: add reserve_sdr Change-Id: I58300910e4cdb0c889e030615a034443816ae5db Signed-off-by: Emily Shaffer Signed-off-by: Patrick Williams --- sensorhandler.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 13 deletions(-) (limited to 'sensorhandler.cpp') diff --git a/sensorhandler.cpp b/sensorhandler.cpp index c1657da..da6cfd9 100644 --- a/sensorhandler.cpp +++ b/sensorhandler.cpp @@ -24,7 +24,6 @@ struct sensorTypemap_t { char dbusname[32]; } ; - sensorTypemap_t g_SensorTypeMap[] = { {0x01, 0x6F, "Temp"}, @@ -695,32 +694,62 @@ ipmi_ret_t ipmi_sen_get_sdr_info(ipmi_netfn_t netfn, ipmi_cmd_t cmd, return IPMI_CC_OK; } +ipmi_ret_t ipmi_sen_reserve_sdr(ipmi_netfn_t netfn, ipmi_cmd_t cmd, + ipmi_request_t request, + ipmi_response_t response, + ipmi_data_len_t data_len, + ipmi_context_t context) +{ + // A constant reservation ID is okay until we implement add/remove SDR. + const uint16_t reservation_id = 1; + *(uint16_t*)response = reservation_id; + + printf("Created new IPMI SDR reservation ID %d\n", *(uint16_t*)response); + return IPMI_CC_OK; +} void register_netfn_sen_functions() { // - printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n",NETFUN_SENSOR, IPMI_CMD_WILDCARD); - ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_WILDCARD, NULL, ipmi_sen_wildcard, + printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n", + NETFUN_SENSOR, IPMI_CMD_WILDCARD); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_WILDCARD, + nullptr, ipmi_sen_wildcard, PRIVILEGE_USER); // - printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n",NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_TYPE); - ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_TYPE, NULL, ipmi_sen_get_sensor_type, + printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n", + NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_TYPE); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_TYPE, + nullptr, ipmi_sen_get_sensor_type, PRIVILEGE_USER); // - printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n",NETFUN_SENSOR, IPMI_CMD_SET_SENSOR); - ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_SET_SENSOR, NULL, ipmi_sen_set_sensor, + printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n", + NETFUN_SENSOR, IPMI_CMD_SET_SENSOR); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_SET_SENSOR, + nullptr, ipmi_sen_set_sensor, PRIVILEGE_OPERATOR); // - printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n",NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_READING); - ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_READING, NULL, - ipmi_sen_get_sensor_reading, PRIVILEGE_USER); + printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n", + NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_READING); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SENSOR_READING, + nullptr, ipmi_sen_get_sensor_reading, + PRIVILEGE_USER); + + // + printf("Registering NetFn:[0x%X], Cmd:[0x%X]\n", + NETFUN_SENSOR, IPMI_CMD_RESERVE_SDR_REPO); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_RESERVE_SDR_REPO, + nullptr, ipmi_sen_reserve_sdr, + PRIVILEGE_USER); // - printf("Registering NetFn:[0x%X], Cmd:[0x%x]\n",NETFUN_SENSOR, IPMI_CMD_GET_SDR_INFO); - ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SDR_INFO, NULL, - ipmi_sen_get_sdr_info, PRIVILEGE_USER); + printf("Registering NetFn:[0x%X], Cmd:[0x%x]\n", + NETFUN_SENSOR, IPMI_CMD_GET_SDR_INFO); + ipmi_register_callback(NETFUN_SENSOR, IPMI_CMD_GET_SDR_INFO, + nullptr, ipmi_sen_get_sdr_info, + PRIVILEGE_USER); return; } -- cgit v1.2.1