Lines Matching refs:opts
515 QemuOpts *opts; member
527 static QemuOpt *qemu_opt_find(QemuOpts *opts, const char *name) in qemu_opt_find() argument
531 QTAILQ_FOREACH_REVERSE(opt, &opts->head, QemuOptHead, next) { in qemu_opt_find()
539 const char *qemu_opt_get(QemuOpts *opts, const char *name) in qemu_opt_get() argument
541 QemuOpt *opt = qemu_opt_find(opts, name); in qemu_opt_get()
545 int qemu_opt_get_bool(QemuOpts *opts, const char *name, int defval) in qemu_opt_get_bool() argument
547 QemuOpt *opt = qemu_opt_find(opts, name); in qemu_opt_get_bool()
555 uint64_t qemu_opt_get_number(QemuOpts *opts, const char *name, uint64_t defval) in qemu_opt_get_number() argument
557 QemuOpt *opt = qemu_opt_find(opts, name); in qemu_opt_get_number()
565 uint64_t qemu_opt_get_size(QemuOpts *opts, const char *name, uint64_t defval) in qemu_opt_get_size() argument
567 QemuOpt *opt = qemu_opt_find(opts, name); in qemu_opt_get_size()
596 QTAILQ_REMOVE(&opt->opts->head, opt, next); in qemu_opt_del()
602 int qemu_opt_set(QemuOpts *opts, const char *name, const char *value) in qemu_opt_set() argument
605 const QemuOptDesc *desc = opts->list->desc; in qemu_opt_set()
624 opt->opts = opts; in qemu_opt_set()
625 QTAILQ_INSERT_TAIL(&opts->head, opt, next); in qemu_opt_set()
639 int qemu_opt_foreach(QemuOpts *opts, qemu_opt_loopfunc func, void *opaque, in qemu_opt_foreach() argument
645 QTAILQ_FOREACH(opt, &opts->head, next) { in qemu_opt_foreach()
655 QemuOpts *opts; in qemu_opts_find() local
657 QTAILQ_FOREACH(opts, &list->head, next) { in qemu_opts_find()
658 if (!opts->id) { in qemu_opts_find()
661 if (strcmp(opts->id, id) != 0) { in qemu_opts_find()
664 return opts; in qemu_opts_find()
686 QemuOpts *opts = NULL; in qemu_opts_create() local
694 opts = qemu_opts_find(list, id); in qemu_opts_create()
695 if (opts != NULL) { in qemu_opts_create()
700 return opts; in qemu_opts_create()
704 opts = qemu_mallocz(sizeof(*opts)); in qemu_opts_create()
706 opts->id = qemu_strdup(id); in qemu_opts_create()
708 opts->list = list; in qemu_opts_create()
709 loc_save(&opts->loc); in qemu_opts_create()
710 QTAILQ_INIT(&opts->head); in qemu_opts_create()
711 QTAILQ_INSERT_TAIL(&list->head, opts, next); in qemu_opts_create()
712 return opts; in qemu_opts_create()
717 QemuOpts *opts, *next_opts; in qemu_opts_reset() local
719 QTAILQ_FOREACH_SAFE(opts, &list->head, next, next_opts) { in qemu_opts_reset()
720 qemu_opts_del(opts); in qemu_opts_reset()
724 void qemu_opts_loc_restore(QemuOpts *opts) in qemu_opts_loc_restore() argument
726 loc_restore(&opts->loc); in qemu_opts_loc_restore()
732 QemuOpts *opts; in qemu_opts_set() local
734 opts = qemu_opts_create(list, id, 1); in qemu_opts_set()
735 if (opts == NULL) { in qemu_opts_set()
738 return qemu_opt_set(opts, name, value); in qemu_opts_set()
741 const char *qemu_opts_id(QemuOpts *opts) in qemu_opts_id() argument
743 return opts->id; in qemu_opts_id()
746 void qemu_opts_del(QemuOpts *opts) in qemu_opts_del() argument
751 opt = QTAILQ_FIRST(&opts->head); in qemu_opts_del()
756 QTAILQ_REMOVE(&opts->list->head, opts, next); in qemu_opts_del()
757 qemu_free(opts->id); in qemu_opts_del()
758 qemu_free(opts); in qemu_opts_del()
761 int qemu_opts_print(QemuOpts *opts, void *dummy) in qemu_opts_print() argument
765 fprintf(stderr, "%s: %s:", opts->list->name, in qemu_opts_print()
766 opts->id ? opts->id : "<noid>"); in qemu_opts_print()
767 QTAILQ_FOREACH(opt, &opts->head, next) { in qemu_opts_print()
774 int qemu_opts_do_parse(QemuOpts *opts, const char *params, const char *firstname) in qemu_opts_do_parse() argument
809 if (qemu_opt_set(opts, option, value) == -1) { in qemu_opts_do_parse()
826 QemuOpts *opts; in qemu_opts_parse() local
838 opts = qemu_opts_create(list, id, 1); in qemu_opts_parse()
839 if (opts == NULL) in qemu_opts_parse()
842 if (qemu_opts_do_parse(opts, params, firstname) != 0) { in qemu_opts_parse()
843 qemu_opts_del(opts); in qemu_opts_parse()
847 return opts; in qemu_opts_parse()
895 QemuOpts *opts; in qemu_opts_from_qdict() local
897 opts = qemu_opts_create(list, qdict_get_try_str(qdict, "id"), 1); in qemu_opts_from_qdict()
898 if (opts == NULL) in qemu_opts_from_qdict()
901 qdict_iter(qdict, qemu_opts_from_qdict_1, opts); in qemu_opts_from_qdict()
902 return opts; in qemu_opts_from_qdict()
911 QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdict) in qemu_opts_to_qdict() argument
919 if (opts->id) { in qemu_opts_to_qdict()
920 qdict_put(qdict, "id", qstring_from_str(opts->id)); in qemu_opts_to_qdict()
922 QTAILQ_FOREACH(opt, &opts->head, next) { in qemu_opts_to_qdict()
932 int qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc) in qemu_opts_validate() argument
936 assert(opts->list->desc[0].name == NULL); in qemu_opts_validate()
938 QTAILQ_FOREACH(opt, &opts->head, next) { in qemu_opts_validate()
965 QemuOpts *opts; in qemu_opts_foreach() local
969 QTAILQ_FOREACH(opts, &list->head, next) { in qemu_opts_foreach()
970 loc_restore(&opts->loc); in qemu_opts_foreach()
971 rc |= func(opts, opaque); in qemu_opts_foreach()