Add optional id validators.

This commit is contained in:
Jeffrey Townsend
2019-01-13 19:33:20 +00:00
parent 210cb09166
commit 2681a84546
7 changed files with 37 additions and 4 deletions

View File

@@ -49,6 +49,12 @@ int onlp_fani_hw_init(uint32_t flags);
*/
int onlp_fani_sw_denit(void);
/**
* @brief Validate a fan id.
* @param id The fan id.
*/
int onlp_fani_id_validate(onlp_oid_id_t id);
/**
* @brief Retrieve the fan's OID hdr.
* @param id The fan id.

View File

@@ -46,6 +46,12 @@ int onlp_ledi_hw_init(uint32_t flags);
*/
int onlp_ledi_sw_denit(void);
/**
* @brief Validate an LED id.
* @param id The id.
*/
int onlp_ledi_id_validate(onlp_oid_id_t id);
/**
* @brief Get the LED header.
* @param id The LED OID

View File

@@ -69,6 +69,7 @@ onlp_fan_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr)
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(hdr);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
rv = onlp_log_error(0,
onlp_fani_hdr_get(id, hdr),
@@ -89,6 +90,7 @@ onlp_fan_info_get_locked__(onlp_oid_t oid, onlp_fan_info_t* info)
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(info);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
rv = onlp_log_error(0,
onlp_fani_info_get(id, info),
@@ -109,6 +111,7 @@ onlp_fan_caps_get_locked__(onlp_oid_t oid, uint32_t* rv)
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(rv);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
return onlp_log_error(0,
onlp_fani_caps_get(id, rv),
@@ -125,6 +128,7 @@ onlp_fan_rpm_set_locked__(onlp_oid_t oid, int rpm)
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
ONLP_TRY(onlp_log_error(0,
onlp_fan_caps_get_locked__(oid, &caps),
@@ -149,6 +153,7 @@ onlp_fan_percentage_set_locked__(onlp_oid_t oid, int p)
onlp_oid_id_t id;
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
ONLP_TRY(onlp_log_error(0,
onlp_fan_caps_get_locked__(oid, &caps),
@@ -171,6 +176,7 @@ onlp_fan_dir_set_locked__(onlp_oid_t oid, onlp_fan_dir_t dir)
uint32_t caps = 0;
ONLP_OID_FAN_VALIDATE_GET_ID(oid, id);
ONLP_IF_ERROR_RETURN(onlp_fani_id_validate(id));
ONLP_TRY(onlp_log_error(0,
onlp_fani_caps_get(id, &caps),

View File

@@ -55,10 +55,13 @@ ONLP_LOCKED_API0(onlp_led_sw_denit);
static int
onlp_led_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr)
{
ONLP_OID_LED_VALIDATE(oid);
int id;
ONLP_OID_LED_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(hdr);
ONLP_IF_ERROR_RETURN(onlp_ledi_id_validate(id));
return onlp_log_error(0x0,
onlp_ledi_hdr_get(oid, hdr),
onlp_ledi_hdr_get(id, hdr),
"ledi hdr get %{onlp_oid}", oid);
}
ONLP_LOCKED_API2(onlp_led_hdr_get, onlp_oid_t, id, onlp_oid_hdr_t*, hdr);
@@ -67,10 +70,13 @@ ONLP_LOCKED_API2(onlp_led_hdr_get, onlp_oid_t, id, onlp_oid_hdr_t*, hdr);
static int
onlp_led_info_get_locked__(onlp_oid_t oid, onlp_led_info_t* info)
{
ONLP_OID_LED_VALIDATE(oid);
int id;
ONLP_OID_LED_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(info);
ONLP_IF_ERROR_RETURN(onlp_ledi_id_validate(id));
return onlp_log_error(0x0,
onlp_ledi_info_get(oid, info),
onlp_ledi_info_get(id, info),
"ledi info get %{onlp_oid}", oid);
}
ONLP_LOCKED_API2(onlp_led_info_get, onlp_oid_t, id, onlp_led_info_t*, info);
@@ -98,6 +104,7 @@ onlp_led_mode_set_locked__(onlp_oid_t oid, onlp_led_mode_t mode)
onlp_oid_id_t id;
ONLP_OID_LED_VALIDATE_GET_ID(oid, id);
ONLP_IF_ERROR_RETURN(onlp_ledi_id_validate(id));
ONLP_TRY(onlp_log_error(0,
onlp_led_caps_get_locked__(oid, &caps),
@@ -120,6 +127,7 @@ onlp_led_char_set_locked__(onlp_oid_t oid, char c)
onlp_oid_id_t id;
ONLP_OID_LED_VALIDATE_GET_ID(oid, id);
ONLP_IF_ERROR_RETURN(onlp_ledi_id_validate(id));
ONLP_TRY(onlp_log_error(0,
onlp_led_caps_get_locked__(oid, &caps),

View File

@@ -59,6 +59,7 @@ onlp_psu_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr)
ONLP_OID_PSU_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(hdr);
ONLP_IF_ERROR_RETURN(onlp_psui_id_validate(id));
rv = onlp_log_error(0,
onlp_psui_hdr_get(id, hdr),
@@ -76,6 +77,8 @@ onlp_psu_info_get_locked__(onlp_oid_t oid, onlp_psu_info_t* info)
ONLP_OID_PSU_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(info);
ONLP_IF_ERROR_RETURN(onlp_psui_id_validate(id));
rv = onlp_log_error(0,
onlp_psui_info_get(id, info),
"psui info get %{onlp_oid}", oid);

View File

@@ -59,6 +59,7 @@ onlp_thermal_hdr_get_locked__(onlp_oid_t oid, onlp_oid_hdr_t* hdr)
ONLP_OID_THERMAL_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(hdr);
ONLP_IF_ERROR_RETURN(onlp_thermali_id_validate(id));
rv = onlp_log_error(0,
onlp_thermali_hdr_get(id, hdr),
@@ -77,6 +78,7 @@ onlp_thermal_info_get_locked__(onlp_oid_t oid, onlp_thermal_info_t* info)
ONLP_OID_THERMAL_VALIDATE_GET_ID(oid, id);
ONLP_PTR_VALIDATE_ZERO(info);
ONLP_IF_ERROR_RETURN(onlp_thermali_id_validate(id));
rv = onlp_log_error(0,
onlp_thermali_info_get(id, info),

View File

@@ -33,6 +33,8 @@
__ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_sw_init(void));
__ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_hw_init(uint32_t flags));
__ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_sw_denit(void));
__ONLP_DEFAULTI_IMPLEMENTATION_OPTIONAL(onlp_fani_id_validate(onlp_oid_id_t id));
__ONLP_DEFAULTI_IMPLEMENTATION(onlp_fani_info_get(onlp_oid_id_t id, onlp_fan_info_t* info));
/**