Beispiel #1
0
int runlevel_register_attrs (runlevel_t *r, attr_t *attrs)
{
    const char *val;

    if (attr_add_active (attrs, "init.run-level",
                         FLUX_ATTRFLAG_READONLY,
                         runlevel_attr_get, NULL, r) < 0)
        return -1;

    if (attr_get (attrs, "init.mode", &val, NULL) == 0) {

        if (runlevel_set_mode (r, val) < 0
                || attr_delete (attrs, "init.mode", true) < 0)
            return -1;
    }
    if (attr_add_active (attrs, "init.mode", 0,
                         runlevel_attr_get, runlevel_attr_set, r) < 0)
        return -1;

    if (attr_get (attrs, "init.rc2_timeout", &val, NULL) == 0) {
        if ((fsd_parse_duration (val, &r->rc[2].timeout) < 0)
                || attr_delete (attrs, "init.rc2_timeout", true) < 0)
            return -1;
    }
    if (attr_add_active (attrs, "init.rc2_timeout", 0,
                         runlevel_attr_get, runlevel_attr_set, r) < 0)
        return -1;

    return 0;
}
Beispiel #2
0
int runlevel_register_attrs (runlevel_t *r, attr_t *attrs)
{
    const char *val;

    if (attr_add_active (attrs, "init.run-level",
                         FLUX_ATTRFLAG_READONLY,
                         runlevel_attr_get, NULL, r) < 0)
        return -1;

    if (attr_get (attrs, "init.mode", &val, NULL) == 0) {

        if (runlevel_set_mode (r, val) < 0
                || attr_delete (attrs, "init.mode", true) < 0)
            return -1;
    }
    if (attr_add_active (attrs, "init.mode", 0,
                         runlevel_attr_get, runlevel_attr_set, r) < 0)
        return -1;

    return 0;
}
Beispiel #3
0
int attr_add_active_uint32 (attr_t *attrs, const char *name, uint32_t *val,
                            int flags)
{
    return attr_add_active (attrs, name, flags, get_uint32, set_uint32, val);
}
Beispiel #4
0
int attr_add_active_int (attr_t *attrs, const char *name, int *val, int flags)
{
    return attr_add_active (attrs, name, flags, get_int, set_int, val);
}