[libvirt] [libvirt-php 3/3] add libvirt_domain_block_job_info
Michal Privoznik
mprivozn at redhat.com
Tue Mar 22 10:19:53 UTC 2016
On 07.03.2016 16:40, Vasiliy Tolstov wrote:
> Signed-off-by: Vasiliy Tolstov <v.tolstov at selfip.ru>
> Signed-off-by: Yuriy Gromak <sewer at clodo.ru>
> ---
> src/libvirt-php.c | 36 ++++++++++++++++++++++++++++++++++++
> src/libvirt-php.h | 1 +
> 2 files changed, 37 insertions(+)
>
> diff --git a/src/libvirt-php.c b/src/libvirt-php.c
> index 8e03d86a811a..1bc837b73e74 100644
> --- a/src/libvirt-php.c
> +++ b/src/libvirt-php.c
> @@ -143,6 +143,7 @@ static zend_function_entry libvirt_functions[] = {
> PHP_FE(libvirt_domain_block_resize,NULL)
> PHP_FE(libvirt_domain_block_job_abort,NULL)
> PHP_FE(libvirt_domain_block_job_set_speed,NULL)
> + PHP_FE(libvirt_domain_block_job_info,NULL)
> PHP_FE(libvirt_domain_interface_stats,NULL)
> PHP_FE(libvirt_domain_get_connect, NULL)
> PHP_FE(libvirt_domain_migrate, NULL)
> @@ -1371,6 +1372,8 @@ PHP_MINIT_FUNCTION(libvirt)
> REGISTER_LONG_CONSTANT("VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT", VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT, CONST_CS | CONST_PERSISTENT);
> REGISTER_LONG_CONSTANT("VIR_DOMAIN_BLOCK_JOB_SPEED_BANDWIDTH_BYTES", VIR_DOMAIN_BLOCK_JOB_SPEED_BANDWIDTH_BYTES, CONST_CS | CONST_PERSISTENT);
>
> + REGISTER_LONG_CONSTANT("VIR_DOMAIN_BLOCK_JOB_INFO_BANDWIDTH_BYTES", VIR_DOMAIN_BLOCK_JOB_INFO_BANDWIDTH_BYTES, CONST_CS | CONST_PERSISTENT);
> +
>
> REGISTER_LONG_CONSTANT("VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN", VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN, CONST_CS | CONST_PERSISTENT);
> REGISTER_LONG_CONSTANT("VIR_DOMAIN_BLOCK_JOB_TYPE_PULL", VIR_DOMAIN_BLOCK_JOB_TYPE_PULL, CONST_CS | CONST_PERSISTENT);
> @@ -6145,6 +6148,39 @@ PHP_FUNCTION(libvirt_domain_block_commit)
> RETURN_TRUE;
> }
>
> +
> +/*
> + * Function name: libvirt_domain_block_job_info
> + * Since version: 0.5.2(-1)
> + * Description: Function is used to request block job information for the given disk
> + * Arguments: @dom [resource]: libvirt domain resource, e.g. from libvirt_domain_lookup_by_*()
> + * @disk [string]: path to the block device, or device shorthand
> + * @flags [int]: bitwise-OR of VIR_DOMAIN_BLOCK_COMMIT_*
> + * Returns: Array with status virDomainGetBlockJobInfo and blockjob information.
> +*/
> +PHP_FUNCTION(libvirt_domain_block_job_info)
> +{
> + php_libvirt_domain *domain=NULL;
> + zval *zdomain;
> + int retval;
> + char *disk;
> + int disk_len;
> + long flags = 0;
> + virDomainBlockJobInfo info;
> +
> + GET_DOMAIN_FROM_ARGS("rs|l",&zdomain, &disk, &disk_len, &flags);
> +
> + retval=virDomainGetBlockJobInfo(domain->domain, disk, &info, flags);
> +
> + array_init(return_value);
> + add_assoc_long(return_value, "status", (int)retval);
> + add_assoc_long(return_value, "type", (int)info.type);
> + add_assoc_long(return_value, "bandwidth", (unsigned long)info.bandwidth);
> + add_assoc_long(return_value, "cur", (unsigned long long)info.cur);
> + add_assoc_long(return_value, "end", (unsigned long long)info.end);
> +}
> +
> +
Some blanks at EOLs here and there.
> /*
> * Function name: libvirt_domain_block_job_abort
> * Since version: 0.5.1(-1)
> diff --git a/src/libvirt-php.h b/src/libvirt-php.h
> index cb06c2d0b8a7..a45b4bd62c64 100644
> --- a/src/libvirt-php.h
> +++ b/src/libvirt-php.h
> @@ -408,6 +408,7 @@ PHP_FUNCTION(libvirt_domain_block_stats);
> PHP_FUNCTION(libvirt_domain_block_resize);
> PHP_FUNCTION(libvirt_domain_block_job_abort);
> PHP_FUNCTION(libvirt_domain_block_job_set_speed);
> +PHP_FUNCTION(libvirt_domain_block_job_info);
> PHP_FUNCTION(libvirt_domain_interface_stats);
> PHP_FUNCTION(libvirt_domain_get_connect);
> PHP_FUNCTION(libvirt_domain_migrate);
>
Michal
More information about the libvir-list
mailing list