This patch added following functions for domain:
* integer libvirt_domain_get_autostart(resource $domain)
return 1, 0, and -1 indicates true, false, and error.
* bool libvirt_domain_set_autostart(resource $domain, bool $autosatrt)
return ture on succeess and false on failure.
* integer libvirt_domain_is_active(resource $domain)
return 1, 0, and -1 indicates true, false, and error.
modified: src/libvirt.c
modified: src/php_libvirt.h
---
src/libvirt.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
src/php_libvirt.h | 3 +++
2 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c
index 570511e..748d898 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -63,6 +63,9 @@ static function_entry libvirt_functions[] = {
PHP_FE(libvirt_domain_memory_stats,NULL)
PHP_FE(libvirt_domain_block_stats,NULL)
PHP_FE(libvirt_domain_interface_stats,NULL)
+ PHP_FE(libvirt_domain_get_autostart, NULL)
+ PHP_FE(libvirt_domain_set_autostart, NULL)
+ PHP_FE(libvirt_domain_is_active, NULL)
PHP_FE(libvirt_version,NULL)
PHP_FE(libvirt_domain_get_connect, NULL)
PHP_FE(libvirt_domain_migrate, NULL)
@@ -70,7 +73,7 @@ static function_entry libvirt_functions[] = {
PHP_FE(libvirt_domain_get_job_info, NULL)
PHP_FE(libvirt_domain_xml_xpath, NULL)
PHP_FE(libvirt_domain_get_block_info, NULL)
- PHP_FE(libvirt_domain_get_network_info, NULL)
+ PHP_FE(libvirt_domain_get_network_info, NULL)
PHP_FE(libvirt_list_storagepools,NULL)
PHP_FE(libvirt_storagepool_lookup_by_name,NULL)
PHP_FE(libvirt_storagepool_list_volumes,NULL)
@@ -2200,6 +2203,46 @@ PHP_FUNCTION(libvirt_domain_interface_stats)
LONGLONG_ASSOC(return_value, "tx_drop", stats.tx_drop);
}
+PHP_FUNCTION(libvirt_domain_get_autostart)
+{
+ php_libvirt_domain *domain = NULL;
+ zval *zdomain;
+ int flags = 0;
+
+ GET_DOMAIN_FROM_ARGS ("r", &zdomain);
+
+ if (virDomainGetAutostart (domain->domain, &flags) != 0)
+ {
+ RETURN_LONG (-1);
+ }
+ RETURN_LONG ((long)flags);
+}
+
+PHP_FUNCTION(libvirt_domain_set_autostart)
+{
+ php_libvirt_domain *domain = NULL;
+ zval *zdomain;
+ zend_bool flags = 0;
+
+ GET_DOMAIN_FROM_ARGS ("rb", &zdomain, &flags);
+
+ if (virDomainSetAutostart (domain->domain, flags) != 0)
+ {
+ RETURN_FALSE;
+ }
+ RETURN_TRUE;
+}
+
+PHP_FUNCTION(libvirt_domain_is_active)
+{
+ php_libvirt_domain *domain = NULL;
+ zval *zdomain;
+
+ GET_DOMAIN_FROM_ARGS ("r", &zdomain);
+
+ RETURN_LONG (virDomainIsActive(domain->domain));
+}
+
PHP_FUNCTION(libvirt_version)
{
unsigned long libVer;
diff --git a/src/php_libvirt.h b/src/php_libvirt.h
index 054df46..213d27f 100644
--- a/src/php_libvirt.h
+++ b/src/php_libvirt.h
@@ -107,6 +107,9 @@ PHP_FUNCTION(libvirt_domain_memory_peek);
PHP_FUNCTION(libvirt_domain_memory_stats);
PHP_FUNCTION(libvirt_domain_block_stats);
PHP_FUNCTION(libvirt_domain_interface_stats);
+PHP_FUNCTION(libvirt_domain_get_autostart);
+PHP_FUNCTION(libvirt_domain_set_autostart);
+PHP_FUNCTION(libvirt_domain_is_active);
PHP_FUNCTION(libvirt_version);
PHP_FUNCTION(libvirt_domain_get_connect);
PHP_FUNCTION(libvirt_domain_migrate);
--
1.7.1
Show replies by date