<?xml version="1.0"?>
<api name='libvir-python'>
  <symbols>
    <function name="virConnectGetVersion" file='python'>
      <info>Returns the running hypervisor version of the connection host</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='int' info="0 on success, -1 on error"/>
    </function>
    <function name="virConnectGetLibVersion" file='python'>
      <info>Returns the libvirt version of the connection host</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='int' info="0 on success, -1 on error"/>
    </function>
    <function name="virConnectListDomainsID" file='python'>
      <info>Returns the list of the ID of the domains on the hypervisor</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='int *' info="the list of ID or None in case of error"/>
    </function>
    <function name='virConnectListDefinedDomains' file='python'>
      <info>list the defined domains, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virConnectListNetworks' file='python'>
      <info>list the networks, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virConnectListDefinedNetworks' file='python'>
      <info>list the defined networks, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virDomainLookupByUUID' file='python'>
      <info>Try to lookup a domain on the given hypervisor based on its UUID.</info>
      <return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='uuid' type='const unsigned char *' info='the UUID string for the domain, must be 16 bytes'/>
    </function>
    <function name='virNetworkLookupByUUID' file='python'>
      <info>Try to lookup a network on the given hypervisor based on its UUID.</info>
      <return type='virNetworkPtr' info='a new network object or NULL in case of failure'/>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='uuid' type='const unsigned char *' info='the UUID string for the network, must be 16 bytes'/>
    </function>
    <function name='virDomainGetInfo' file='python'>
      <info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
    </function>
    <function name='virDomainGetBlockInfo' file='python'>
      <info>Extract information about a domain block device size</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
      <arg name='path' type='const char *' info='path to the block device or file'/>
      <arg name='flags' type='unsigned int' info='currently unused'/>
    </function>
    <function name='virDomainGetJobInfo' file='python'>
      <info>Extract information about an active job being processed for a domain.</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
    </function>
    <function name='virNodeGetInfo' file='python'>
      <info>Extract hardware information about the Node.</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
    </function>
    <function name='virDomainGetUUID' file='python'>
      <info>Extract the UUID unique Identifier of a domain.</info>
      <return type='char *' info='the 16 bytes string or None in case of error'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
    </function>
    <function name='virDomainGetUUIDString' file='python'>
      <info>Fetch globally unique ID of the domain as a string.</info>
      <return type='char *' info='the UUID string or None in case of error'/>
      <arg name='pool' type='virDomainPtr' info='a domain object'/>
    </function>
    <function name='virNetworkGetUUID' file='python'>
      <info>Extract the UUID unique Identifier of a network.</info>
      <return type='char *' info='the 16 bytes string or None in case of error'/>
      <arg name='domain' type='virNetworkPtr' info='a network object'/>
    </function>
    <function name='virNetworkGetUUIDString' file='python'>
      <info>Fetch globally unique ID of the network as a string.</info>
      <return type='char *' info='the UUID string or None in case of error'/>
      <arg name='net' type='virNetworkPtr' info='a network object'/>
    </function>
    <function name='virStoragePoolGetUUID' file='python'>
      <info>Extract the UUID unique Identifier of a storage pool.</info>
      <return type='char *' info='the 16 bytes string or None in case of error'/>
      <arg name='pool' type='virStoragePoolPtr' info='a storage pool object'/>
    </function>
    <function name='virStoragePoolGetUUIDString' file='python'>
      <info>Fetch globally unique ID of the storage pool as a string.</info>
      <return type='char *' info='the UUID string or None in case of error'/>
      <arg name='pool' type='virStoragePoolPtr' info='a storage pool object'/>
    </function>
    <function name='virNetworkGetAutostart' file='python'>
      <info>Extract the autostart flag for a network.</info>
      <return type='int' info='the autostart flag, or None in case of error'/>
      <arg name='domain' type='virNetworkPtr' info='a network object'/>
    </function>
    <function name='virDomainGetAutostart' file='python'>
      <info>Extract the autostart flag for a domain</info>
      <return type='int' info='the autostart flag, or None in case of error'/>
      <arg name='domain' type='virDomainPtr' info='a network object'/>
    </function>
    <function name='virStoragePoolGetAutostart' file='python'>
      <info>Extract the autostart flag for a storage pool</info>
      <return type='int' info='the autostart flag, or None in case of error'/>
      <arg name='pool' type='virStoragePoolPtr' info='a storage pool object'/>
    </function>
    <function name='virDomainBlockStats' file='python'>
      <info>Extracts block device statistics for a domain</info>
      <return type='virDomainBlockStats' info='a tuple of statistics'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
      <arg name='path' type='char *' info='the path for the block device'/>
    </function>
    <function name='virDomainInterfaceStats' file='python'>
      <info>Extracts interface device statistics for a domain</info>
      <return type='virDomainInterfaceStats' info='a tuple of statistics'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
      <arg name='path' type='char *' info='the path for the interface device'/>
    </function>
    <function name='virDomainMemoryStats' file='python'>
      <info>Extracts memory statistics for a domain</info>
      <return type='virDomainMemoryStats' info='a dictionary of statistics'/>
      <arg name='domain' type='virDomainPtr' info='a domain object'/>
    </function>
    <function name="virNodeGetCellsFreeMemory" file='python'>
      <info>Returns the available memory for a list of cells</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='startCell' type='int' info='first cell in the list'/>
      <arg name='maxCells' type='int' info='number of cell in the list'/>
      <return type='int *' info="the list available memory in the cells"/>
    </function>
    <function name='virDomainGetSchedulerParameters' file='python'>
      <info>Get the scheduler parameters, the @params array will be filled with the values.</info>
      <return type='int' info='-1 in case of error, 0 in case of success.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
    </function>
    <function name='virDomainGetSchedulerType' file='python'>
      <info>Get the scheduler type.</info>
      <return type='char *' info='NULL in case of error. The caller must free the returned string.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
    </function>
    <function name='virDomainGetVcpus' file='python'>
      <info>Extract information about virtual CPUs of domain, store it in info array and also in cpumaps if this pointer is&apos;nt NULL.</info>
      <return type='int' info='the number of info filled in case of success, -1 in case of failure.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
    </function>
    <function name='virDomainPinVcpu' file='python'>
      <info>Dynamically change the real CPUs which can be allocated to a virtual CPU. This function requires privileged access to the hypervisor.</info>
      <return type='int' info='0 in case of success, -1 in case of failure.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
      <arg name='vcpu' type='unsigned int' info='virtual CPU number'/>
      <arg name='cpumap' type='unsigned char *' info='pointer to a bit map of real CPUs (in 8-bit bytes) (IN) Each bit set to 1 means that corresponding CPU is usable. Bytes are stored in little-endian order: CPU0-7, 8-15... In each byte, lowest CPU number is least significant bit.'/>
    </function>
    <function name='virDomainSetSchedulerParameters' file='python'>
      <info>Change the scheduler parameters</info>
      <return type='int' info='-1 in case of error, 0 in case of success.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
      <arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
    </function>
    <function name='virDomainSetMemoryParameters' file='python'>
      <info>Change the memory tunables</info>
      <return type='int' info='-1 in case of error, 0 in case of success.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
      <arg name='params' type='virMemoryParameterPtr' info='pointer to memory tunable objects'/>
    </function>
    <function name='virDomainGetMemoryParameters' file='python'>
      <info>Get the memory parameters, the @params array will be filled with the values.</info>
      <return type='int' info='-1 in case of error, 0 in case of success.'/>
      <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
      <arg name='params' type='virMemoryParameterPtr' info='pointer to memory tunable objects'/>
    </function>
    <function name='virConnectListStoragePools' file='python'>
      <info>list the storage pools, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virConnectListDefinedStoragePools' file='python'>
      <info>list the defined storage pool, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virStoragePoolListVolumes' file='python'>
      <info>list the storage volumes, stores the pointers to the names in @names</info>
      <arg name='pool' type='virStoragePoolPtr' info='pointer to the storage pool'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virStoragePoolGetInfo' file='python'>
      <info>Extract information about a storage pool. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='pool' type='virStoragePoolPtr' info='a storage pool object'/>
    </function>
    <function name='virStorageVolGetInfo' file='python'>
      <info>Extract information about a storage volume. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</info>
      <return type='int *' info='the list of information or None in case of error'/>
      <arg name='vol' type='virStorageVolPtr' info='a storage vol object'/>
    </function>
    <function name='virNodeListDevices' file='python'>
      <info>list the node devices</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='cap' type='const unsigned char *' info='capability name'/>
      <arg name='flags' type='unsigned int' info='flags (unused; pass 0)'/>
      <return type='str *' info='the list of Names or None in case of error'/>
    </function>
    <function name='virNodeDeviceListCaps' file='python'>
      <info>list the node device's capabilities</info>
      <arg name='dev' type='virNodeDevicePtr' info='pointer to the node device'/>
      <return type='str *' info='the list of Names or None in case of error'/>
    </function>
    <function name='virSecretGetValue' file='libvirt' module='libvirt'>
      <info>Fetches the value associated with a secret.</info>
      <return type='char *' info='the secret value or None in case of error'/>
      <arg name='secret' type='virSecretPtr' info='virSecret secret'/>
      <arg name='flags' type='unsigned int' info='flags (unused; pass 0)'/>
    </function>
    <function name='virConnectListSecrets' file='libvirt' module='libvirt'>
      <info>List the defined secret IDs</info>
      <arg name='conn' type='virConnectPtr' info='virConnect connection'/>
      <return type='str *' info='the list of secret IDs or None in case of error'/>
    </function>
    <function name='virSecretSetValue' file='libvirt' module='libvirt'>
      <info>Associates a value with a secret.</info>
      <return type='int' info='0 on success, -1 on failure.'/>
      <arg name='secret' type='virSecretPtr' info='virSecret secret'/>
      <arg name='value' type='const char *' info='The secret value'/>
      <arg name='flags' type='unsigned int' info='flags (unused; pass 0)'/>
    </function>
    <function name='virSecretLookupByUUID' file='python'>
      <info>Try to lookup a secret on the given hypervisor based on its UUID.</info>
      <return type='virSecretPtr' info='a new secret object or NULL in case of failure'/>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='uuid' type='const unsigned char *' info='the UUID string for the secret, must be 16 bytes'/>
    </function>
    <function name='virSecretGetUUID' file='python'>
      <info>Extract the UUID unique Identifier of a secret.</info>
      <return type='char *' info='the 16 bytes string or None in case of error'/>
      <arg name='secret' type='virSecretPtr' info='a secret object'/>
    </function>
    <function name='virSecretGetUUIDString' file='python'>
      <info>Fetch globally unique ID of the secret as a string.</info>
      <return type='char *' info='the UUID string or None in case of error'/>
      <arg name='secret' type='virSecretPtr' info='a secret object'/>
    </function>
    <function name='virConnectListNWFilters' file='libvirt' module='libvirt'>
      <info>List the defined network filters</info>
      <arg name='conn' type='virConnectPtr' info='virConnect connection'/>
      <return type='str *' info='the list of network filter IDs or None in case of error'/>
    </function>
    <function name='virNWFilterLookupByUUID' file='python'>
      <info>Try to lookup a network filter on the given hypervisor based on its UUID.</info>
      <return type='virNWFilterPtr' info='a new network filter object or NULL in case of failure'/>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <arg name='uuid' type='const unsigned char *' info='the UUID string for the secret, must be 16 bytes'/>
    </function>
    <function name='virNWFilterGetUUID' file='python'>
      <info>Extract the UUID unique Identifier of a network filter.</info>
      <return type='char *' info='the 16 bytes string or None in case of error'/>
      <arg name='nwfilter' type='virNWFilterPtr' info='a network filter object'/>
    </function>
    <function name='virNWFilterGetUUIDString' file='python'>
      <info>Fetch globally unique ID of the network filter as a string.</info>
      <return type='char *' info='the UUID string or None in case of error'/>
      <arg name='nwfilter' type='virNWFilterPtr' info='a network filter object'/>
    </function>
    <function name='virConnectListInterfaces' file='python'>
      <info>list the running interfaces, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virConnectListDefinedInterfaces' file='python'>
      <info>list the defined interfaces, stores the pointers to the names in @names</info>
      <arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virConnectBaselineCPU' file='python'>
      <info>Computes the most feature-rich CPU which is compatible with all given host CPUs.</info>
      <return type='char *' info='XML description of the computed CPU or NULL on error.'/>
      <arg name='conn' type='virConnectPtr' info='virConnect connection'/>
      <arg name='xmlCPUs' type='const char **' info='array of XML descriptions of host CPUs'/>
      <arg name='flags' type='unsigned int' info='fine-tuning flags, currently unused, pass 0.'/>
    </function>
    <function name='virDomainSnapshotListNames' file='python'>
      <info>collect the list of snapshots for the given domain</info>
      <arg name='dom' type='virDomainPtr' info='pointer to the domain'/>
      <arg name='flags' type='unsigned int' info='flags, curently unused'/>
      <return type='str *' info='the list of Names of None in case of error'/>
    </function>
    <function name='virDomainRevertToSnapshot' file='python'>
      <info>revert the domain to the given snapshot</info>
      <arg name='dom' type='virDomainPtr' info='dummy domain pointer'/>
      <arg name='snap' type='virDomainSnapshotPtr' info='pointer to the snapshot'/>
      <arg name='flags' type='unsigned int' info='flags, curently unused'/>
      <return type='int' info="0 on success, -1 on error"/>
    </function>
  </symbols>
</api>
