mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
Fri Feb 23 08:49:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c add virDomainGetAutostart(), virDomainSetAutostart(), virNetworkGetAutostart() and virNetworkSetAutostart(). * src/libvirt_sym.version: export the API * src/driver.h: add methods to the driver vtables. * src/proxy_internal.c, src/qemu_internal.c, src/test.c, src/xen_internal.c, src/xend_internal.c, src/xm_internal.c, src/xs_internal.c: set those methods to NULL
This commit is contained in:
parent
d954480892
commit
57a1819881
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
Fri Feb 23 08:49:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
|
||||
|
||||
* include/libvirt/libvirt.h.in, src/libvirt.c add
|
||||
virDomainGetAutostart(), virDomainSetAutostart(),
|
||||
virNetworkGetAutostart() and virNetworkSetAutostart().
|
||||
|
||||
* src/libvirt_sym.version: export the API
|
||||
|
||||
* src/driver.h: add methods to the driver vtables.
|
||||
|
||||
* src/proxy_internal.c, src/qemu_internal.c,
|
||||
src/test.c, src/xen_internal.c, src/xend_internal.c,
|
||||
src/xm_internal.c, src/xs_internal.c: set those
|
||||
methods to NULL
|
||||
|
||||
Fri Feb 23 08:41:34 IST 2007 Mark McLoughlin <markmc@redhat.com>
|
||||
|
||||
* qemud/conf.[ch]: significantly re-factor qemudLoadConfigXML()
|
||||
|
@ -328,6 +328,11 @@ int virConnectListDefinedDomains (virConnectPtr conn,
|
||||
int maxnames);
|
||||
int virDomainCreate (virDomainPtr domain);
|
||||
|
||||
int virDomainGetAutostart (virDomainPtr domain,
|
||||
int *autostart);
|
||||
int virDomainSetAutostart (virDomainPtr domain,
|
||||
int autostart);
|
||||
|
||||
/**
|
||||
* virVcpuInfo: structure for information about a virtual CPU in a domain.
|
||||
*/
|
||||
@ -528,6 +533,11 @@ char * virNetworkGetXMLDesc (virNetworkPtr network,
|
||||
int flags);
|
||||
char * virNetworkGetBridgeName (virNetworkPtr network);
|
||||
|
||||
int virNetworkGetAutostart (virNetworkPtr network,
|
||||
int *autostart);
|
||||
int virNetworkSetAutostart (virNetworkPtr network,
|
||||
int autostart);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -328,6 +328,11 @@ int virConnectListDefinedDomains (virConnectPtr conn,
|
||||
int maxnames);
|
||||
int virDomainCreate (virDomainPtr domain);
|
||||
|
||||
int virDomainGetAutostart (virDomainPtr domain,
|
||||
int *autostart);
|
||||
int virDomainSetAutostart (virDomainPtr domain,
|
||||
int autostart);
|
||||
|
||||
/**
|
||||
* virVcpuInfo: structure for information about a virtual CPU in a domain.
|
||||
*/
|
||||
@ -528,6 +533,11 @@ char * virNetworkGetXMLDesc (virNetworkPtr network,
|
||||
int flags);
|
||||
char * virNetworkGetBridgeName (virNetworkPtr network);
|
||||
|
||||
int virNetworkGetAutostart (virNetworkPtr network,
|
||||
int *autostart);
|
||||
int virNetworkSetAutostart (virNetworkPtr network,
|
||||
int autostart);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
17
src/driver.h
17
src/driver.h
@ -134,6 +134,12 @@ typedef int
|
||||
typedef int
|
||||
(*virDrvDomainDetachDevice) (virDomainPtr domain,
|
||||
char *xml);
|
||||
typedef int
|
||||
(*virDrvDomainGetAutostart) (virDomainPtr domain,
|
||||
int *autostart);
|
||||
typedef int
|
||||
(*virDrvDomainSetAutostart) (virDomainPtr domain,
|
||||
int autostart);
|
||||
|
||||
typedef struct _virDriver virDriver;
|
||||
typedef virDriver *virDriverPtr;
|
||||
@ -183,6 +189,8 @@ struct _virDriver {
|
||||
virDrvDomainUndefine domainUndefine;
|
||||
virDrvDomainAttachDevice domainAttachDevice;
|
||||
virDrvDomainDetachDevice domainDetachDevice;
|
||||
virDrvDomainGetAutostart domainGetAutostart;
|
||||
virDrvDomainSetAutostart domainSetAutostart;
|
||||
};
|
||||
|
||||
typedef int
|
||||
@ -219,6 +227,13 @@ typedef char *
|
||||
int flags);
|
||||
typedef char *
|
||||
(*virDrvNetworkGetBridgeName) (virNetworkPtr network);
|
||||
typedef int
|
||||
(*virDrvNetworkGetAutostart) (virNetworkPtr network,
|
||||
int *autostart);
|
||||
typedef int
|
||||
(*virDrvNetworkSetAutostart) (virNetworkPtr network,
|
||||
int autostart);
|
||||
|
||||
|
||||
typedef struct _virNetworkDriver virNetworkDriver;
|
||||
typedef virNetworkDriver *virNetworkDriverPtr;
|
||||
@ -245,6 +260,8 @@ struct _virNetworkDriver {
|
||||
virDrvNetworkDestroy networkDestroy;
|
||||
virDrvNetworkDumpXML networkDumpXML;
|
||||
virDrvNetworkGetBridgeName networkGetBridgeName;
|
||||
virDrvNetworkGetAutostart networkGetAutostart;
|
||||
virDrvNetworkSetAutostart networkSetAutostart;
|
||||
};
|
||||
|
||||
|
||||
|
126
src/libvirt.c
126
src/libvirt.c
@ -1861,6 +1861,69 @@ virDomainCreate(virDomainPtr domain) {
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* virDomainGetAutostart:
|
||||
* @domain: a domain object
|
||||
*
|
||||
* Return a boolean value indicating whether the domain
|
||||
* configured to be automatically started when the host
|
||||
* machine boots.
|
||||
*
|
||||
* Returns -1 in case of error, 0 in case of success
|
||||
*/
|
||||
int
|
||||
virDomainGetAutostart(virDomainPtr domain,
|
||||
int *autostart) {
|
||||
int i;
|
||||
|
||||
if (!VIR_IS_DOMAIN(domain)) {
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
if (!autostart) {
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
for (i = 0;i < domain->conn->nb_drivers;i++) {
|
||||
if ((domain->conn->drivers[i] != NULL) &&
|
||||
(domain->conn->drivers[i]->domainGetAutostart != NULL) &&
|
||||
(domain->conn->drivers[i]->domainGetAutostart(domain, autostart) == 0))
|
||||
return (0);
|
||||
}
|
||||
virLibConnError(domain->conn, VIR_ERR_CALL_FAILED, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* virDomainSetAutostart:
|
||||
* @domain: a domain object
|
||||
*
|
||||
* Configure the domain to be automatically started
|
||||
* when the host machine boots.
|
||||
*
|
||||
* Returns -1 in case of error, 0 in case of success
|
||||
*/
|
||||
int
|
||||
virDomainSetAutostart(virDomainPtr domain,
|
||||
int autostart) {
|
||||
int i;
|
||||
|
||||
if (!VIR_IS_DOMAIN(domain)) {
|
||||
virLibDomainError(domain, VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
for (i = 0;i < domain->conn->nb_drivers;i++) {
|
||||
if ((domain->conn->drivers[i] != NULL) &&
|
||||
(domain->conn->drivers[i]->domainSetAutostart != NULL) &&
|
||||
(domain->conn->drivers[i]->domainSetAutostart(domain, autostart) == 0))
|
||||
return (0);
|
||||
}
|
||||
virLibConnError(domain->conn, VIR_ERR_CALL_FAILED, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* virDomainSetVcpus:
|
||||
* @domain: pointer to domain object, or NULL for Domain0
|
||||
@ -2766,3 +2829,66 @@ virNetworkGetBridgeName(virNetworkPtr network)
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* virNetworkGetAutostart:
|
||||
* @network: a network object
|
||||
*
|
||||
* Return a boolean value indicating whether the network
|
||||
* configured to be automatically started when the host
|
||||
* machine boots.
|
||||
*
|
||||
* Returns -1 in case of error, 0 in case of success
|
||||
*/
|
||||
int
|
||||
virNetworkGetAutostart(virNetworkPtr network,
|
||||
int *autostart) {
|
||||
int i;
|
||||
|
||||
if (!VIR_IS_NETWORK(network)) {
|
||||
virLibNetworkError(network, VIR_ERR_INVALID_NETWORK, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
if (!autostart) {
|
||||
virLibNetworkError(network, VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
for (i = 0;i < network->conn->nb_network_drivers;i++) {
|
||||
if ((network->conn->networkDrivers[i] != NULL) &&
|
||||
(network->conn->networkDrivers[i]->networkGetAutostart != NULL) &&
|
||||
(network->conn->networkDrivers[i]->networkGetAutostart(network, autostart) == 0))
|
||||
return (0);
|
||||
}
|
||||
virLibConnError(network->conn, VIR_ERR_CALL_FAILED, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* virNetworkSetAutostart:
|
||||
* @network: a network object
|
||||
*
|
||||
* Configure the network to be automatically started
|
||||
* when the host machine boots.
|
||||
*
|
||||
* Returns -1 in case of error, 0 in case of success
|
||||
*/
|
||||
int
|
||||
virNetworkSetAutostart(virNetworkPtr network,
|
||||
int autostart) {
|
||||
int i;
|
||||
|
||||
if (!VIR_IS_NETWORK(network)) {
|
||||
virLibNetworkError(network, VIR_ERR_INVALID_NETWORK, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
for (i = 0;i < network->conn->nb_network_drivers;i++) {
|
||||
if ((network->conn->networkDrivers[i] != NULL) &&
|
||||
(network->conn->networkDrivers[i]->networkSetAutostart != NULL) &&
|
||||
(network->conn->networkDrivers[i]->networkSetAutostart(network, autostart) == 0))
|
||||
return (0);
|
||||
}
|
||||
virLibConnError(network->conn, VIR_ERR_CALL_FAILED, __FUNCTION__);
|
||||
return (-1);
|
||||
}
|
||||
|
@ -37,6 +37,8 @@
|
||||
virConnectListDefinedDomains;
|
||||
virConnectNumOfDefinedDomains;
|
||||
virDomainUndefine;
|
||||
virDomainGetAutostart;
|
||||
virDomainSetAutostart;
|
||||
virGetVersion;
|
||||
virCopyLastError;
|
||||
virConnSetErrorFunc;
|
||||
@ -76,6 +78,8 @@
|
||||
virNetworkGetUUIDString;
|
||||
virNetworkGetXMLDesc;
|
||||
virNetworkGetBridgeName;
|
||||
virNetworkGetAutostart;
|
||||
virNetworkSetAutostart;
|
||||
|
||||
local: *;
|
||||
};
|
||||
|
@ -81,6 +81,8 @@ static virDriver xenProxyDriver = {
|
||||
NULL, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1132,6 +1132,8 @@ static virDriver qemuDriver = {
|
||||
qemuUndefine, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
static virNetworkDriver qemuNetworkDriver = {
|
||||
@ -1150,6 +1152,8 @@ static virNetworkDriver qemuNetworkDriver = {
|
||||
qemuNetworkDestroy, /* networkDestroy */
|
||||
qemuNetworkDumpXML, /* networkDumpXML */
|
||||
qemuNetworkGetBridgeName, /* networkGetBridgeName */
|
||||
NULL, /* networkGetAutostart */
|
||||
NULL, /* networkSetAutostart */
|
||||
};
|
||||
|
||||
void qemuRegister(void) {
|
||||
|
@ -125,6 +125,8 @@ static virDriver testDriver = {
|
||||
testDomainUndefine, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
typedef struct _testDev {
|
||||
|
@ -454,6 +454,8 @@ static virDriver xenHypervisorDriver = {
|
||||
NULL, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
#endif /* !PROXY */
|
||||
|
||||
|
@ -96,7 +96,9 @@ static virDriver xenDaemonDriver = {
|
||||
xenDaemonDomainDefineXML, /* domainDefineXML */
|
||||
xenDaemonDomainUndefine, /* domainUndefine */
|
||||
xenDaemonAttachDevice, /* domainAttachDevice */
|
||||
xenDaemonDetachDevice /* domainDetachDevice */
|
||||
xenDaemonDetachDevice, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -106,6 +106,8 @@ static virDriver xenXMDriver = {
|
||||
xenXMDomainUndefine, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
static void
|
||||
|
@ -75,6 +75,8 @@ static virDriver xenStoreDriver = {
|
||||
NULL, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
NULL, /* domainDetachDevice */
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user