コード例 #1
0
ファイル: qdev-properties.c プロジェクト: ddk50/qemu-qcas
/* Bit */
static int parse_bit(DeviceState *dev, Property *prop, const char *str)
{
    if (!strcasecmp(str, "on"))
        bit_prop_set(dev, prop, true);
    else if (!strcasecmp(str, "off"))
        bit_prop_set(dev, prop, false);
    else
        return -EINVAL;
    return 0;
}
コード例 #2
0
ファイル: qdev-properties.c プロジェクト: ddk50/qemu-qcas
static void qdev_prop_cpy(DeviceState *dev, Property *props, void *src)
{
    if (props->info->type == PROP_TYPE_BIT) {
        bool *defval = src;
        bit_prop_set(dev, props, *defval);
    } else {
        char *dst = qdev_get_prop_ptr(dev, props);
        memcpy(dst, src, props->info->size);
    }
}
コード例 #3
0
ファイル: qdev-properties.c プロジェクト: ddk50/qemu-qcas
static void set_bit(DeviceState *dev, Visitor *v, void *opaque,
                    const char *name, Error **errp)
{
    Property *prop = opaque;
    Error *local_err = NULL;
    bool value;

    if (dev->state != DEV_STATE_CREATED) {
        error_set(errp, QERR_PERMISSION_DENIED);
        return;
    }

    visit_type_bool(v, &value, name, &local_err);
    if (local_err) {
        error_propagate(errp, local_err);
        return;
    }
    bit_prop_set(dev, prop, value);
}
コード例 #4
0
ファイル: qdev-properties.c プロジェクト: GamerSource/qemu
static void prop_set_bit(Object *obj, Visitor *v, const char *name,
                         void *opaque, Error **errp)
{
    DeviceState *dev = DEVICE(obj);
    Property *prop = opaque;
    Error *local_err = NULL;
    bool value;

    if (dev->realized) {
        qdev_prop_set_after_realize(dev, name, errp);
        return;
    }

    visit_type_bool(v, name, &value, &local_err);
    if (local_err) {
        error_propagate(errp, local_err);
        return;
    }
    bit_prop_set(dev, prop, value);
}
コード例 #5
0
ファイル: qdev-properties.c プロジェクト: bhansaliakhil/qemu
static void set_bit(Object *obj, Visitor *v, void *opaque,
                    const char *name, Error **errp)
{
    DeviceState *dev = DEVICE(obj);
    Property *prop = opaque;
    Error *local_err = NULL;
    bool value;

    if (dev->realized) {
        error_set(errp, QERR_PERMISSION_DENIED);
        return;
    }

    visit_type_bool(v, &value, name, &local_err);
    if (local_err) {
        error_propagate(errp, local_err);
        return;
    }
    bit_prop_set(dev, prop, value);
}