This enables some simplification of vl.c via error_fatal, and improves error messages. Before: $ ./qemu-system-x86_64 -readconfig . qemu-system-x86_64: error reading file qemu-system-x86_64: -readconfig .: read config .: Invalid argument $ /usr/libexec/qemu-kvm -readconfig foo qemu-kvm: -readconfig foo: read config foo: No such file or directory After: $ ./qemu-system-x86_64 -readconfig . qemu-system-x86_64: -readconfig .: Cannot read config file: Is a directory $ ./qemu-system-x86_64 -readconfig foo qemu-system-x86_64: -readconfig foo: Could not open 'foo': No such file or directory Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210226170816.231173-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
25 lines
840 B
C
25 lines
840 B
C
#ifndef QEMU_CONFIG_FILE_H
|
|
#define QEMU_CONFIG_FILE_H
|
|
|
|
|
|
QemuOptsList *qemu_find_opts(const char *group);
|
|
QemuOptsList *qemu_find_opts_err(const char *group, Error **errp);
|
|
QemuOpts *qemu_find_opts_singleton(const char *group);
|
|
|
|
void qemu_add_opts(QemuOptsList *list);
|
|
void qemu_add_drive_opts(QemuOptsList *list);
|
|
int qemu_global_option(const char *str);
|
|
|
|
void qemu_config_write(FILE *fp);
|
|
int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname,
|
|
Error **errp);
|
|
|
|
int qemu_read_config_file(const char *filename, Error **errp);
|
|
|
|
/* Parse QDict options as a replacement for a config file (allowing multiple
|
|
enumerated (0..(n-1)) configuration "sections") */
|
|
void qemu_config_parse_qdict(QDict *options, QemuOptsList **lists,
|
|
Error **errp);
|
|
|
|
#endif /* QEMU_CONFIG_FILE_H */
|