# -*- 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',
        'BlockExportOptions',
        'BlockStatsSpecific',
        'BlockdevBackupWrapper',
        'BlockdevDriver',
        'BlockdevQcow2Encryption',
        'BlockdevQcow2EncryptionFormat',
        'BlockdevQcowEncryption',
        'BlockdevSnapshotInternalWrapper',
        'BlockdevSnapshotSyncWrapper',
        'BlockdevSnapshotWrapper',
        'BlockdevVmdkAdapterType',
        'ChardevBackend',
        'ChardevBackendKind',
        'ChardevCommonWrapper',
        'ChardevDBusWrapper',
        'ChardevFileWrapper',
        'ChardevHostdevWrapper',
        'ChardevMuxWrapper',
        'ChardevQemuVDAgentWrapper',
        'ChardevRingbufWrapper',
        'ChardevSocketWrapper',
        'ChardevSpiceChannelWrapper',
        'ChardevSpicePortWrapper',
        'ChardevStdioWrapper',
        'ChardevUdpWrapper',
        'ChardevVCWrapper',
        'CpuS390Entitlement',
        'CpuS390Polarization',
        'CpuS390State',
        'CxlCorErrorType',
        'DisplayProtocol',
        'DriveBackupWrapper',
        'DummyBlockCoreForceArrays',
        'DummyForceArrays',
        'DummyVirtioForceArrays',
        'DumpGuestMemoryCapability',
        'GrabToggleKeys',
        'GuestPanicInformationHyperV',
        'HotKeyMod',
        'HvBalloonDeviceInfoWrapper',
        'ImageInfoSpecific',
        'ImageInfoSpecificFileWrapper',
        'ImageInfoSpecificKind',
        'ImageInfoSpecificLUKSWrapper',
        'ImageInfoSpecificQCow2Wrapper',
        'ImageInfoSpecificRbdWrapper',
        'ImageInfoSpecificVmdkWrapper',
        'InetSocketAddressWrapper',
        'InputAxis',
        'InputBtnEventWrapper',
        'InputButton',
        'InputKeyEventWrapper',
        'InputMoveEventWrapper',
        'InputMultiTouchEvent',
        'InputMultiTouchEventWrapper',
        'InputMultiTouchType',
        'IntWrapper',
        'IscsiHeaderDigest',
        'IscsiTransport',
        'JSONType',
        'KeyValue',
        'KeyValueKind',
        'MemoryDeviceInfo',
        'MemoryDeviceInfoKind',
        'MigrateSetParameters',
        'MigrationAddress',
        'NetClientDriver',
        'NumaOptions',
        'ObjectType',
        'PCDIMMDeviceInfoWrapper',
        'PciMemoryRegion',
        'QCryptoAkCipherKeyType',
        'QCryptoAkCipherOptions',
        'QCryptodevBackendServiceType',
        'QKeyCode',
        'QKeyCodeWrapper',
        'Qcow2OverlapCheckFlags',
        'RbdAuthMode',
        'RbdEncryptionCreateOptions',
        'RbdImageEncryptionFormat',
        'SgxEPCDeviceInfoWrapper',
        'SocketAddressLegacy',
        'SshHostKeyCheck',
        'StatsFilter',
        'StatsValue',
        'String',
        'StringWrapper',
        'SysEmuTarget',
        'TPMEmulatorOptionsWrapper',
        'TPMPassthroughOptionsWrapper',
        'ThrottleGroupProperties',
        'TransactionAction',
        'UnixSocketAddressWrapper',
        'VirtioMEMDeviceInfoWrapper',
        'VirtioPMEMDeviceInfoWrapper',
        'VncPrimaryAuth',
        'VncVencryptSubAuth',
        'VsockSocketAddressWrapper',
        'X86CPURegister32',
        'XDbgBlockGraph',
        'YankInstance',
        '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
    ] } }
