--- daemon/remote_generator.pl | 20 ++++++++++++++------ src/remote/remote_driver.c | 1 + src/remote/remote_protocol.x | 14 +++++++++++++- src/remote_protocol-structs | 9 +++++++++ 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl index 632972c..8881d6c 100755 --- a/daemon/remote_generator.pl +++ b/daemon/remote_generator.pl @@ -668,9 +668,13 @@ elsif ($opt_b) { my $struct_name = $call->{ProcName}; $struct_name =~ s/Get//; - if ($call->{ProcName} eq "DomainGetBlockInfo") { - # SPECIAL: virDomainGetBlockInfo has flags parameter after - # the struct parameter in its signature + if ($call->{ProcName} eq "DomainGetBlockInfo" || + $call->{ProcName} eq "DomainGetControlInfo") { + # SPECIAL: virDomainGetBlockInfo and virDomainGetControlInfo + # have flags parameter after the struct parameter in + # its signature + # FIXME: this doesn't sound special at all; flags parameter is + # almost always the last one; anything else is special my $flags = pop(@args_list); push(@args_list, "&tmp"); push(@args_list, $flags); @@ -1203,9 +1207,13 @@ elsif ($opt_k) { my $struct_name = $call->{ProcName}; $struct_name =~ s/Get//; - if ($call->{ProcName} eq "DomainGetBlockInfo") { - # SPECIAL: virDomainGetBlockInfo has flags parameter after - # the struct parameter in its signature + if ($call->{ProcName} eq "DomainGetBlockInfo" || + $call->{ProcName} eq "DomainGetControlInfo") { + # SPECIAL: virDomainGetBlockInfo and virDomainGetControlInfo + # have flags parameter after the struct parameter in + # its signature + # FIXME: this doesn't sound special at all; flags parameter is + # almost always the last one; anything else is special $last_arg = pop(@args_list); } diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 8335a1a..f1c6674 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -6251,6 +6251,7 @@ static virDriver remote_driver = { .domainGetBlkioParameters = remoteDomainGetBlkioParameters, /* 0.9.0 */ .domainGetInfo = remoteDomainGetInfo, /* 0.3.0 */ .domainGetState = remoteDomainGetState, /* 0.9.2 */ + .domainGetControlInfo = remoteDomainGetControlInfo, /* 0.9.3 */ .domainSave = remoteDomainSave, /* 0.3.0 */ .domainRestore = remoteDomainRestore, /* 0.3.0 */ .domainCoreDump = remoteDomainCoreDump, /* 0.3.0 */ diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index c9b8cff..7e8ad6d 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -2035,6 +2035,17 @@ struct remote_domain_event_control_error_msg { remote_nonnull_domain dom; }; +struct remote_domain_get_control_info_args { + remote_nonnull_domain dom; + unsigned int flags; +}; + +struct remote_domain_get_control_info_ret { + unsigned int state; + unsigned int details; + unsigned hyper stateTime; +}; + /*----- Protocol. -----*/ /* Define the program number, protocol version and procedure numbers here. */ @@ -2297,7 +2308,8 @@ enum remote_procedure { REMOTE_PROC_INTERFACE_CHANGE_COMMIT = 221, /* autogen autogen */ REMOTE_PROC_INTERFACE_CHANGE_ROLLBACK = 222, /* autogen autogen */ REMOTE_PROC_DOMAIN_GET_SCHEDULER_PARAMETERS_FLAGS = 223, /* skipgen autogen */ - REMOTE_PROC_DOMAIN_EVENT_CONTROL_ERROR = 224 /* skipgen skipgen */ + REMOTE_PROC_DOMAIN_EVENT_CONTROL_ERROR = 224, /* skipgen skipgen */ + REMOTE_PROC_DOMAIN_GET_CONTROL_INFO = 225 /* autogen autogen */ /* * Notice how the entries are grouped in sets of 10 ? diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index 1d90dd5..18511be 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -1542,6 +1542,15 @@ struct remote_domain_migrate_confirm3_args { struct remote_domain_event_control_error_msg { remote_nonnull_domain dom; }; +struct remote_domain_get_control_info_args { + remote_nonnull_domain dom; + u_int flags; +}; +struct remote_domain_get_control_info_ret { + u_int state; + u_int details; + uint64_t stateTime; +}; struct remote_message_header { u_int prog; u_int vers; -- 1.7.5.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list