Ejemplo n.º 1
0
Archivo: led.c Proyecto: bigswitch/ONLP
void
onlp_led_show(onlp_oid_t id, aim_pvs_t* pvs, uint32_t flags)
{
    int rv;
    iof_t iof;
    onlp_led_info_t info;

    VALIDATENR(id);
    onlp_oid_show_iof_init_default(&iof, pvs);
    iof_push(&iof, "LED %d", ONLP_OID_ID_GET(id));
    rv = onlp_led_info_get(id, &info);
    if(rv < 0) {
        onlp_oid_info_get_error(&iof, rv);
    }
    else {
        onlp_oid_show_description(&iof, &info.hdr);
        if(info.status & 1) {
            /* Present */
            iof_iprintf(&iof, "Mode: %{onlp_led_mode}", info.mode);
        }
        else {
            onlp_oid_show_state_missing(&iof);
        }
    }
    iof_pop(&iof);

}
Ejemplo n.º 2
0
Archivo: led.c Proyecto: bigswitch/ONLP
void
onlp_led_dump(onlp_oid_t id, aim_pvs_t* pvs, uint32_t flags)
{
    int rv;
    iof_t iof;
    onlp_led_info_t info;

    VALIDATENR(id);
    onlp_oid_dump_iof_init_default(&iof, pvs);
    iof_push(&iof, "led @ %d", ONLP_OID_ID_GET(id));
    rv = onlp_led_info_get(id, &info);
    if(rv < 0) {
        onlp_oid_info_get_error(&iof, rv);
    }
    else {
        onlp_oid_show_description(&iof, &info.hdr);
        if(info.status & 1) {
            /* Present */
            iof_iprintf(&iof, "Status: %{onlp_led_status_flags}", info.status);
            iof_iprintf(&iof, "Caps:   %{onlp_led_caps_flags}", info.caps);
            iof_iprintf(&iof, "Mode: %{onlp_led_mode}", info.mode);
        }
        else {
            iof_iprintf(&iof, "Not present.");
        }
    }
    iof_pop(&iof);
}
/**
 * LED Handlers
 */
static void
led_update_handler__(netsnmp_request_info *req,
                     uint32_t index,
                     onlp_snmp_sensor_t *ss)
{
    uint64_t current = os_time_monotonic();

    if (SENSOR_NEEDS_UPDATE(current, ss)) {
        onlp_led_info_t *li = &ss->sensor_info.li;
        onlp_oid_t oid = (onlp_oid_t) ss->sensor_id;

        int rv = onlp_led_info_get(oid, li);
        SENSOR_SET_VALIDITY(rv, current, ss);
    }

    /* else use the last update info */
}
Ejemplo n.º 4
0
void
onlp_led_show(onlp_oid_t id, aim_pvs_t* pvs, uint32_t flags)
{
    int rv;
    iof_t iof;
    onlp_led_info_t info;
    int yaml;

    VALIDATENR(id);
    onlp_oid_show_iof_init_default(&iof, pvs, flags);

    yaml = flags & ONLP_OID_SHOW_F_YAML;

    if(yaml) {
        iof_push(&iof, " -");
        iof_iprintf(&iof, "Name: LED %d", ONLP_OID_ID_GET(id));
    }
    else {
        iof_push(&iof, "LED %d", ONLP_OID_ID_GET(id));
    }

    rv = onlp_led_info_get(id, &info);
    if(rv < 0) {
        if(yaml) {
            iof_iprintf(&iof, "State: Error");
            iof_iprintf(&iof, "Error: %{onlp_status}", rv);
        }
        else {
            onlp_oid_info_get_error(&iof, rv);
        }
    }
    else {
        onlp_oid_show_description(&iof, &info.hdr);
        if(info.status & 1) {
            /* Present */
            iof_iprintf(&iof, "State: Present");
            iof_iprintf(&iof, "Mode: %{onlp_led_mode}", info.mode);
        }
        else {
            onlp_oid_show_state_missing(&iof);
        }
    }
    iof_pop(&iof);

}