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

{ 'pragma': { 'doc-required': true } }

# Entries in these lists are allowed to violate the QAPI rules (for
# historical reasons); think twice before you add to them!
{ 'pragma': {
    # Command names containing '_'
    'command-name-exceptions': [
        'add_client',
        'block_resize',
        'block_set_io_throttle',
        'client_migrate_info',
        'device_add',
        'device_del',
        'expire_password',
        'migrate_cancel',
        'netdev_add',
        'netdev_del',
        'qmp_capabilities',
        'set_link',
        'set_password',
        'system_powerdown',
        'system_reset',
        'system_wakeup' ],
    # Commands allowed to return a non-dictionary
    'command-returns-exceptions': [
        'human-monitor-command',
        'qom-get',
        'query-tpm-models',
        'query-tpm-types',
        'ringbuf-read' ],
    # Types, commands, and events with undocumented members / arguments:
    'documentation-exceptions': [
        'AbortWrapper',
        'AudiodevDriver',
        'BlkdebugEvent',
        'BlockDirtyBitmapAddWrapper',
        'BlockDirtyBitmapMergeWrapper',
        'BlockDirtyBitmapWrapper',
        'BlockdevBackupWrapper',
        'BlockdevDriver',
        'BlockdevQcow2EncryptionFormat',
        'BlockdevSnapshotInternalWrapper',
        'BlockdevSnapshotSyncWrapper',
        'BlockdevSnapshotWrapper',
        'BlockdevVmdkAdapterType',
        'ChardevBackendKind',
        'CpuS390Entitlement',
        'CpuS390Polarization',
        'CpuS390State',
        'CxlCorErrorType',
        'DisplayProtocol',
        'DriveBackupWrapper',
        'DummyBlockCoreForceArrays',
        'DummyForceArrays',
        'DummyVirtioForceArrays',
        'GrabToggleKeys',
        'GuestPanicInformationHyperV',
        'HotKeyMod',
        'ImageInfoSpecificKind',
        'InputAxis',
        'InputButton',
        'InputMultiTouchEvent',
        'InputMultiTouchType',
        'IscsiHeaderDigest',
        'IscsiTransport',
        'JSONType',
        'KeyValueKind',
        'MemoryDeviceInfoKind',
        'NetClientDriver',
        'ObjectType',
        'PciMemoryRegion',
        'QCryptoAkCipherKeyType',
        'QCryptodevBackendServiceType',
        'QKeyCode',
        'Qcow2OverlapCheckFlags',
        'RbdAuthMode',
        'RbdImageEncryptionFormat',
        'StatsFilter',
        'StatsValue',
        'String',
        'StringWrapper',
        'SysEmuTarget',
        'ThrottleGroupProperties',
        'VncPrimaryAuth',
        'VncVencryptSubAuth',
        'X86CPURegister32',
        'XDbgBlockGraph',
        'YankInstanceType',
        'blockdev-reopen',
        'query-cpu-model-baseline',
        'query-cpu-model-comparison',
        'query-cpu-model-expansion',
        'query-rocker',
        'query-rocker-ports',
        'query-stats-schemas',
        'watchdog-set-action' ],
    # Externally visible types whose member names may use uppercase
    'member-name-exceptions': [     # visible in:
        'ACPISlotType',             # query-acpi-ospm-status
        'AcpiTableOptions',         # -acpitable
        'BlkdebugEvent',            # blockdev-add, -blockdev
        'BlkdebugSetStateOptions',  # blockdev-add, -blockdev
        'BlockDeviceInfo',          # query-block
        'BlockDeviceStats',         # query-blockstats
        'BlockDeviceTimedStats',    # query-blockstats
        'BlockIOThrottle',          # block_set_io_throttle
        'BlockInfo',                # query-block
        'BlockdevAioOptions',       # blockdev-add, -blockdev
        'BlockdevDriver',           # blockdev-add, query-blockstats, ...
        'BlockdevVmdkAdapterType',  # blockdev-create (to match VMDK spec)
        'BlockdevVmdkSubformat',    # blockdev-create (to match VMDK spec)
        'ColoCompareProperties',    # object_add, -object
        'FilterMirrorProperties',   # object_add, -object
        'FilterRedirectorProperties', # object_add, -object
        'FilterRewriterProperties', # object_add, -object
        'InputLinuxProperties',     # object_add, -object
        'NetdevTapOptions',         # netdev_add, query-netdev, -netdev
        'ObjectType',               # object-add, -object
        'PCIELinkSpeed',            # internal only
        'PciBusInfo',               # query-pci
        'PciDeviceInfo',            # query-pci
        'PciMemoryRegion',          # query-pci
        'QKeyCode',                 # send-key, input-sent-event
        'QapiErrorClass',           # QMP error replies
        'SshHostKeyCheckMode',      # blockdev-add, -blockdev
        'SysEmuTarget',             # query-cpu-fast, query-target
        'UuidInfo',                 # query-uuid
        'VncClientInfo',            # query-vnc, query-vnc-servers, ...
        'X86CPURegister32'          # qom-get of x86 CPU properties
                                    # feature-words, filtered-features
    ] } }
