609f45ea95
There are numerous QDict functions that have been introduced for and are used only by the block layer. Move their declarations into an own header file to reflect that. While qdict_extract_subqdict() is in fact used outside of the block layer (in util/qemu-config.c), it is still a function related very closely to how the block layer works with nested QDicts, namely by sometimes flattening them. Therefore, its declaration is put into this header as well and util/qemu-config.c includes it with a comment stating exactly which function it needs. Suggested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20180509165530.29561-7-mreitz@redhat.com> [Copyright note tweaked, superfluous includes dropped] Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
33 lines
965 B
C
33 lines
965 B
C
/*
|
|
* Special QDict functions used by the block layer
|
|
*
|
|
* Copyright (c) 2013-2018 Red Hat, Inc.
|
|
*
|
|
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
|
|
* See the COPYING.LIB file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef BLOCK_QDICT_H
|
|
#define BLOCK_QDICT_H
|
|
|
|
#include "qapi/qmp/qdict.h"
|
|
|
|
void qdict_copy_default(QDict *dst, QDict *src, const char *key);
|
|
void qdict_set_default_str(QDict *dst, const char *key, const char *val);
|
|
|
|
void qdict_join(QDict *dest, QDict *src, bool overwrite);
|
|
|
|
void qdict_extract_subqdict(QDict *src, QDict **dst, const char *start);
|
|
void qdict_array_split(QDict *src, QList **dst);
|
|
int qdict_array_entries(QDict *src, const char *subqdict);
|
|
QObject *qdict_crumple(const QDict *src, Error **errp);
|
|
void qdict_flatten(QDict *qdict);
|
|
|
|
typedef struct QDictRenames {
|
|
const char *from;
|
|
const char *to;
|
|
} QDictRenames;
|
|
bool qdict_rename_keys(QDict *qdict, const QDictRenames *renames, Error **errp);
|
|
|
|
#endif
|