提交 a91067fa 编写于 作者: G Guido Günther

Add virDomainGetHostname

to query a guests's hostname. Containers like LXC and OpenVZ allow to
set a hostname different from the hosts name and QEMU's guest agent
could provide similar functionality.
上级 2ef6f69a
......@@ -1540,6 +1540,8 @@ int virDomainSetMemoryFlags (virDomainPtr domain,
int virDomainGetMaxVcpus (virDomainPtr domain);
int virDomainGetSecurityLabel (virDomainPtr domain,
virSecurityLabelPtr seclabel);
char * virDomainGetHostname (virDomainPtr domain,
unsigned int flags);
typedef enum {
VIR_DOMAIN_METADATA_DESCRIPTION = 0, /* Operate on <description> */
......
......@@ -142,6 +142,11 @@ typedef int
unsigned int flags);
typedef char *
(*virDrvDomainGetOSType) (virDomainPtr domain);
typedef char *
(*virDrvDomainGetHostname) (virDomainPtr domain,
unsigned int flags);
typedef unsigned long long
(*virDrvDomainGetMaxMemory) (virDomainPtr domain);
typedef int
......@@ -904,6 +909,7 @@ struct _virDriver {
virDrvDomainDestroy domainDestroy;
virDrvDomainDestroyFlags domainDestroyFlags;
virDrvDomainGetOSType domainGetOSType;
virDrvDomainGetHostname domainGetHostname;
virDrvDomainGetMaxMemory domainGetMaxMemory;
virDrvDomainSetMaxMemory domainSetMaxMemory;
virDrvDomainSetMemory domainSetMemory;
......
......@@ -18977,3 +18977,48 @@ error:
virDispatchError(dom->conn);
return -1;
}
/**
* virDomainGetHostname:
* @domain: a domain object
* @flags: extra flags; not used yet, so callers should always pass 0
*
* Get the hostname for that domain.
*
* Dependent on hypervisor used, this may require a guest agent to be
* available.
*
* Returns the hostname which must be freed by the caller, or
* NULL if there was an error.
*/
char *
virDomainGetHostname(virDomainPtr domain, unsigned int flags)
{
virConnectPtr conn;
VIR_DOMAIN_DEBUG(domain);
virResetLastError();
if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
virLibDomainError(VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
virDispatchError(NULL);
return NULL;
}
conn = domain->conn;
if (conn->driver->domainGetHostname) {
char *ret;
ret = conn->driver->domainGetHostname (domain, flags);
if (!ret)
goto error;
return ret;
}
virLibConnError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
error:
virDispatchError(domain->conn);
return NULL;
}
......@@ -544,4 +544,9 @@ LIBVIRT_0.9.13 {
virDomainSnapshotRef;
} LIBVIRT_0.9.11;
LIBVIRT_0.9.14 {
global:
virDomainGetHostname;
} LIBVIRT_0.9.13;
# .... define new API here using predicted next version number ....
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册