libvirt/src/conf/virconftypes.h

252 lines
7.6 KiB
C
Raw Normal View History

/*
* virconftypes.h: struct typedefs to avoid circular inclusion
*
* Copyright (C) 2006-2019 Red Hat, Inc.
* Copyright (C) 2006-2008 Daniel P. Berrange
* Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#pragma once
/* forward declarations of various types required in src/conf */
typedef struct _virBlkioDevice virBlkioDevice;
typedef struct _virCaps virCaps;
typedef struct _virCapsDomainData virCapsDomainData;
typedef struct _virCapsGuest virCapsGuest;
typedef struct _virCapsGuestArch virCapsGuestArch;
typedef struct _virCapsGuestDomain virCapsGuestDomain;
typedef struct _virCapsGuestDomainInfo virCapsGuestDomainInfo;
typedef struct _virCapsGuestFeature virCapsGuestFeature;
typedef struct _virCapsGuestMachine virCapsGuestMachine;
typedef struct _virCapsHost virCapsHost;
typedef struct _virCapsHostCache virCapsHostCache;
typedef struct _virCapsHostCacheBank virCapsHostCacheBank;
typedef struct _virCapsHostMemBW virCapsHostMemBW;
typedef struct _virCapsHostMemBWNode virCapsHostMemBWNode;
typedef struct _virCapsHostNUMA virCapsHostNUMA;
typedef struct _virCapsHostNUMACell virCapsHostNUMACell;
typedef struct _virCapsHostNUMACellCPU virCapsHostNUMACellCPU;
typedef struct _virCapsHostNUMACellPageInfo virCapsHostNUMACellPageInfo;
typedef struct _virCapsHostSecModel virCapsHostSecModel;
typedef struct _virCapsHostSecModelLabel virCapsHostSecModelLabel;
typedef struct _virCapsStoragePool virCapsStoragePool;
typedef struct _virDomainABIStability virDomainABIStability;
typedef struct _virDomainActualNetDef virDomainActualNetDef;
typedef struct _virDomainBackupDef virDomainBackupDef;
typedef struct _virDomainBIOSDef virDomainBIOSDef;
typedef struct _virDomainBlkiotune virDomainBlkiotune;
typedef struct _virDomainBlockIoTuneInfo virDomainBlockIoTuneInfo;
backup: Parse and output checkpoint XML Add a new file checkpoint_conf.c that performs the translation to and from new XML describing a checkpoint. The code shares a common base class with snapshots, since a checkpoint similarly represents the domain state at a moment in time. Add some basic testing of round trip XML handling through the new code. Of note - this code intentionally differs from snapshots in that XML schema validation is unconditional, rather than based on a public API flag. We have many existing interfaces that still need to add a flag for opt-in schema validation, but those interfaces have existing clients that may not have been producing strictly-compliant XML, or we may still uncover bugs where our RNG grammar is inconsistent with our code (where omitting the opt-in flag allows existing apps to keep working while waiting for an RNG patch). But since checkpoints are brand-new, it's easier to ensure the code matches the schema by always using the schema. If needed, a later patch could extend the API and add a flag to turn on to request schema validation, rather than having it forced (possibly just the validation of the <domain> sub-element during REDEFINE) - but if a user encounters XML that looks like it should be good but fails to validate with our RNG schema, they would either have to upgrade to a new libvirt that adds the new flag, or upgrade to a new libvirt that fixes the RNG schema, which implies adding such a flag won't help much. Also, the redefine flag requires the <domain> sub-element to be present, rather than catering to historical back-compat to older versions. Signed-off-by: Eric Blake <eblake@redhat.com>
2018-07-07 21:01:14 -05:00
typedef struct _virDomainCheckpointDef virDomainCheckpointDef;
typedef struct _virDomainCheckpointObj virDomainCheckpointObj;
typedef struct _virDomainCheckpointObjList virDomainCheckpointObjList;
typedef struct _virDomainChrDef virDomainChrDef;
typedef struct _virDomainChrSourceDef virDomainChrSourceDef;
typedef struct _virDomainChrSourceReconnectDef virDomainChrSourceReconnectDef;
typedef struct _virDomainClockDef virDomainClockDef;
typedef struct _virDomainControllerDef virDomainControllerDef;
typedef struct _virDomainCputune virDomainCputune;
typedef struct _virDomainDef virDomainDef;
typedef struct _virDomainDefParserConfig virDomainDefParserConfig;
typedef struct _virDomainDeviceDef virDomainDeviceDef;
typedef struct _virDomainDiskDef virDomainDiskDef;
typedef struct _virDomainFSDef virDomainFSDef;
typedef struct _virDomainGraphicsAuthDef virDomainGraphicsAuthDef;
typedef struct _virDomainGraphicsDef virDomainGraphicsDef;
typedef struct _virDomainGraphicsListenDef virDomainGraphicsListenDef;
typedef struct _virDomainHostdevCaps virDomainHostdevCaps;
typedef struct _virDomainHostdevDef virDomainHostdevDef;
typedef struct _virDomainHostdevOrigStates virDomainHostdevOrigStates;
typedef struct _virDomainHostdevSubsys virDomainHostdevSubsys;
typedef struct _virDomainHostdevSubsysMediatedDev virDomainHostdevSubsysMediatedDev;
typedef struct _virDomainHostdevSubsysPCI virDomainHostdevSubsysPCI;
typedef struct _virDomainHostdevSubsysSCSI virDomainHostdevSubsysSCSI;
typedef struct _virDomainHostdevSubsysSCSIHost virDomainHostdevSubsysSCSIHost;
typedef struct _virDomainHostdevSubsysSCSIVHost virDomainHostdevSubsysSCSIVHost;
typedef struct _virDomainHostdevSubsysSCSIiSCSI virDomainHostdevSubsysSCSIiSCSI;
typedef struct _virDomainHostdevSubsysUSB virDomainHostdevSubsysUSB;
typedef struct _virDomainHubDef virDomainHubDef;
typedef struct _virDomainHugePage virDomainHugePage;
typedef struct _virDomainIOMMUDef virDomainIOMMUDef;
typedef struct _virDomainIOThreadIDDef virDomainIOThreadIDDef;
typedef struct _virDomainIdMapDef virDomainIdMapDef;
typedef struct _virDomainIdMapEntry virDomainIdMapEntry;
typedef struct _virDomainInputDef virDomainInputDef;
typedef struct _virDomainKeyWrapDef virDomainKeyWrapDef;
typedef struct _virDomainLeaseDef virDomainLeaseDef;
typedef struct _virDomainLoaderDef virDomainLoaderDef;
typedef struct _virDomainMemballoonDef virDomainMemballoonDef;
typedef struct _virDomainMemoryDef virDomainMemoryDef;
typedef struct _virDomainMemtune virDomainMemtune;
typedef struct _virDomainMomentDef virDomainMomentDef;
typedef struct _virDomainMomentObj virDomainMomentObj;
typedef struct _virDomainMomentObjList virDomainMomentObjList;
typedef struct _virDomainNVRAMDef virDomainNVRAMDef;
typedef struct _virDomainNetDef virDomainNetDef;
typedef struct _virDomainNetTeamingInfo virDomainNetTeamingInfo;
typedef struct _virDomainOSDef virDomainOSDef;
typedef struct _virDomainOSEnv virDomainOSEnv;
typedef struct _virDomainObj virDomainObj;
typedef struct _virDomainPCIControllerOpts virDomainPCIControllerOpts;
typedef struct _virDomainPanicDef virDomainPanicDef;
typedef struct _virDomainPerfDef virDomainPerfDef;
typedef struct _virDomainPowerManagement virDomainPowerManagement;
typedef struct _virDomainRNGDef virDomainRNGDef;
typedef struct _virDomainRedirFilterDef virDomainRedirFilterDef;
typedef struct _virDomainRedirFilterUSBDevDef virDomainRedirFilterUSBDevDef;
typedef struct _virDomainRedirdevDef virDomainRedirdevDef;
typedef struct _virDomainResctrlDef virDomainResctrlDef;
typedef struct _virDomainResctrlMonDef virDomainResctrlMonDef;
typedef struct _virDomainResourceDef virDomainResourceDef;
typedef struct _virDomainSEVDef virDomainSEVDef;
typedef struct _virDomainShmemDef virDomainShmemDef;
typedef struct _virDomainSmartcardDef virDomainSmartcardDef;
typedef struct _virDomainSnapshotDef virDomainSnapshotDef;
typedef struct _virDomainSnapshotObjList virDomainSnapshotObjList;
typedef struct _virDomainSoundCodecDef virDomainSoundCodecDef;
typedef struct _virDomainSoundDef virDomainSoundDef;
typedef struct _virDomainAudioDef virDomainAudioDef;
typedef struct _virDomainTPMDef virDomainTPMDef;
typedef struct _virDomainThreadSchedParam virDomainThreadSchedParam;
typedef struct _virDomainTimerCatchupDef virDomainTimerCatchupDef;
typedef struct _virDomainTimerDef virDomainTimerDef;
typedef struct _virDomainUSBControllerOpts virDomainUSBControllerOpts;
typedef struct _virDomainVcpuDef virDomainVcpuDef;
typedef struct _virDomainVideoAccelDef virDomainVideoAccelDef;
typedef struct _virDomainVideoResolutionDef virDomainVideoResolutionDef;
typedef struct _virDomainVideoDef virDomainVideoDef;
typedef struct _virDomainVideoDriverDef virDomainVideoDriverDef;
typedef struct _virDomainVirtioOptions virDomainVirtioOptions;
typedef struct _virDomainVirtioSerialOpts virDomainVirtioSerialOpts;
typedef struct _virDomainVsockDef virDomainVsockDef;
typedef struct _virDomainWatchdogDef virDomainWatchdogDef;
typedef struct _virDomainXMLOption virDomainXMLOption;
typedef struct _virDomainXMLPrivateDataCallbacks virDomainXMLPrivateDataCallbacks;
typedef struct _virDomainXenbusControllerOpts virDomainXenbusControllerOpts;