On Tue, Jun 07, 2011 at 03:01:58PM +0200, Jiri Denemark wrote: > --- > 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; ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list