static int
onlp_fani_info_from_json__(cJSON* data, onlp_fan_info_t* fip, int errorcheck)
{
    int rv;

    if(data == NULL) {
        return (errorcheck) ? ONLP_STATUS_E_PARAM : 0;
    }

    rv = cjson_util_lookup_int(data, (int*) &fip->status, "status");
    if(rv < 0 && errorcheck) return rv;

    rv = cjson_util_lookup_int(data, (int*) &fip->caps, "caps");
    if(rv < 0 && errorcheck) return rv;

    rv = cjson_util_lookup_int(data, (int*) &fip->rpm, "rpm");
    if(rv < 0 && errorcheck) return rv;

    rv = cjson_util_lookup_int(data, (int*) &fip->percentage, "percentage");
    if(rv < 0 && errorcheck) return rv;

    rv = cjson_util_lookup_int(data, (int*) &fip->mode, "mode");
    if(rv < 0 && errorcheck) return rv;

    return 0;
}
static int
onlp_thermali_info_from_json__(cJSON* data, onlp_thermal_info_t* info, int errorcheck)
{
    int rv;
    int t;

    if(data == NULL) {
        return (errorcheck) ? ONLP_STATUS_E_PARAM : 0;
    }

    rv = cjson_util_lookup_int(data, (int*) &info->status, "status");
    if(rv < 0 && errorcheck) return rv;

    rv = cjson_util_lookup_int(data, &t, "mcelsius");
    if(rv < 0 && errorcheck) return rv;
    info->mcelsius = t;

    return 0;
}