# -*- Mode: Python -*-
# vim: filetype=python

# Note that modules are shared with the QEMU main schema under the assumption
# that the storage daemon schema is a subset of the main schema. For the shared
# modules, no code is generated here, but we reuse the code files generated
# from the main schema.
#
# If you wish to extend the storage daemon schema to contain things that are
# not in the main schema, be aware that array types of types defined in shared
# modules are only generated if an array of the respective type is already used
# in the main schema. Therefore, if you use such arrays, you may need to define
# the array type in the main schema, even if it is unused outside of the
# storage daemon.

{ 'include': '../../qapi/pragma.json' }

# Documentation generated with qapi-gen.py is in source order, with
# included sub-schemas inserted at the first include directive
# (subsequent include directives have no effect).  To get a sane and
# stable order, it's best to include each sub-schema just once, or
# include it first right here.

{ 'include': '../../qapi/common.json' }
{ 'include': '../../qapi/sockets.json' }
{ 'include': '../../qapi/crypto.json' }
{ 'include': '../../qapi/job.json' }

##
# = Block devices
##
{ 'include': '../../qapi/block-core.json' }
{ 'include': '../../qapi/block-export.json' }

{ 'include': '../../qapi/char.json' }
{ 'include': '../../qapi/authz.json' }
{ 'include': '../../qapi/transaction.json' }
{ 'include': '../../qapi/control.json' }
{ 'include': '../../qapi/introspect.json' }
{ 'include': '../../qapi/qom.json' }
